在 Kubernetes 環境中升級 NCP
本節說明如何在 Kubernetes 環境中將 NCP 從 2.5.* 升級至 3.0.x。
- 下載安裝檔案。請參閱下載安裝檔案。
- 執行下列命令,以查看您的目前環境中的 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 Web 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輸出應顯示正在建立的新網繭,以及正在終止舊的網繭。成功升級後,應該會將所有網繭的狀態顯示為執行中。