本節說明如何在 Kubernetes 環境中將 NCP 從 2.5.* 升級至 3.0.x。

  1. 下載安裝檔案。請參閱下載安裝檔案
  2. 執行下列命令,以查看您的目前環境中的 ConfigMap 和 ncp.ini:
    kubectl describe configmap nsx-ncp-config -n nsx-system
    kubectl describe configmap nsx-node-agent-config -n nsx-system
  3. 根據您目前的環境編輯 NCP YAML 檔案。如需參考,請參閱編輯 NCP YAML 檔案
    • 您必須在 [nsx_node_agent] 區段下定義 ovs_uplink_port
    • image: nsx-ncp 的所有執行個體取代為新的 NCP 映像名稱。
    • 如果您使用 Kubernetes 密碼來儲存 NCP 的憑證,請參閱 編輯 NCP YAML 檔案 中有關掛接密碼磁碟區的「更新 NCP 部署規格」一節。
  4. 執行下列命令以檢查 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)
  5. 執行下列命令以刪除舊的 NCP 資源:
    kubectl delete deployment nsx-ncp -n nsx-system
  6. 執行下列命令以檢查是否已終止所有舊的 NCP 網繭:
    kubectl get pods -l component=nsx-ncp -n nsx-system

    如果所有舊的 NCP 網繭均已終止,它應不會列出任何網繭。等待所有網繭終止,之後再繼續。

  7. 清除舊的選定鎖定。在 NSX Manager Web UI 中,移至 [搜尋] 頁面,並使用下列標籤執行資源的進階搜尋:
    Scope: ncp\/ha         Tag: true
    Scope: ncp\/cluster    Tag: <name of the cluster in ncp.ini>

    您應該會看到一或多個 SpoofGuard 資源。清除這些資源上的所有標記。

  8. 執行下列命令以開始升級:
    kubectl apply -f ncp-{platform_name}.yml
  9. 執行下列命令以檢查升級狀態:
    kubectl get pods -o wide -n nsx-system

    輸出應顯示正在建立的新網繭,以及正在終止舊的網繭。成功升級後,應該會將所有網繭的狀態顯示為執行中