이 섹션에서는 Kubernetes 환경에서 NCP를 2.5.x 또는 3.0.x를 3.1로 업그레이드하는 방법에 대해 설명합니다.
- 설치 파일을 다운로드합니다. 설치 파일 다운로드 항목을 참조하십시오.
- 다음 명령을 실행하여 현재 환경에서 ConfigMap 및 ncp.ini를 확인합니다.
kubectl describe configmap nsx-ncp-config -n nsx-system kubectl describe configmap nsx-node-agent-config -n nsx-system
- 현재 환경을 기준으로 NCP YAML 파일을 편집합니다. NCP YAML 파일 편집을 참조하십시오.
- [nsx_node_agent] 섹션에서 ovs_uplink_port를 정의해야 합니다.
- image: nsx-ncp의 모든 인스턴스를 새 NCP 이미지 이름으로 바꿉니다.
- Kubernetes 암호를 사용하여 NCP에 대한 인증서를 저장하는 경우 암호 볼륨 마운트에 대해 NCP YAML 파일 편집의 "NCP 배포 규격 업데이트" 섹션을 참조하십시오.
- 다음 명령을 실행하여 NCP YAML 파일의 구문을 확인합니다.
kubectl apply -f ncp-<platform_name>.yml --server-dry-run
응답에는 생성 또는 업데이트할 리소스가 표시됩니다(출력에 "구성됨"으로 표시됨). 예를 들면 다음과 같습니다.customresourcedefinition.apiextensions.k8s.io/nsxerrors.nsx.vmware.com created (server dry run) customresourcedefinition.apiextensions.k8s.io/nsxlocks.nsx.vmware.com created (server dry run) namespace/nsx-system unchanged (server dry run) serviceaccount/ncp-svc-account unchanged (server dry run) clusterrole.rbac.authorization.k8s.io/ncp-cluster-role configured (server dry run) clusterrole.rbac.authorization.k8s.io/ncp-patch-role configured (server dry run) clusterrolebinding.rbac.authorization.k8s.io/ncp-cluster-role-binding unchanged (server dry run) clusterrolebinding.rbac.authorization.k8s.io/ncp-patch-role-binding unchanged (server dry run) serviceaccount/nsx-node-agent-svc-account unchanged (server dry run) clusterrole.rbac.authorization.k8s.io/nsx-node-agent-cluster-role configured (server dry run) clusterrolebinding.rbac.authorization.k8s.io/nsx-node-agent-cluster-role-binding unchanged (server dry run) configmap/nsx-ncp-config configured (server dry run) deployment.extensions/nsx-ncp configured (server dry run) configmap/nsx-node-agent-config configured (server dry run) daemonset.extensions/nsx-ncp-bootstrap configured (server dry run) daemonset.extensions/nsx-node-agent configured (server dry run)
- 다음 명령을 실행하여 이전 NCP 리소스를 삭제합니다.
kubectl delete deployment nsx-ncp -n nsx-system
- 다음 명령을 실행하여 이전 NCP 포드가 모두 종료되었는지 확인합니다.
kubectl get pods -l component=nsx-ncp -n nsx-system
이전 NCP 포드가 모두 종료된 경우 포드가 나열되지 않습니다. 계속하기 전에 모든 포드가 종료될 때까지 기다리십시오.
- 이전 선택 잠금을 지웁니다. NSX Manager 웹 UI에서 [검색] 페이지로 이동한 후 다음 태그를 사용하여 리소스에 대해 고급 검색을 수행합니다.
Scope: ncp\/ha Tag: true Scope: ncp\/cluster Tag: <name of the cluster in ncp.ini>
하나 이상의 SpoofGuard 리소스가 표시됩니다. 이러한 리소스의 모든 태그를 지웁니다.
- 다음 명령을 실행하여 업그레이드를 시작합니다.
kubectl apply -f ncp-{platform_name}.yml
- 다음 명령을 실행하여 업그레이드 상태를 확인합니다.
kubectl get pods -o wide -n nsx-system
출력에 새 포드는 생성되고 이전 포드가 종료되었다고 표시됩니다. 업그레이드를 완료한 후에는 모든 포드의 상태가 실행 중으로 표시되어야 합니다.