このセクションでは、Kubernetes 環境で NCP を 2.5.x または 3.0.x から 3.1 にアップグレードする方法について説明します。

  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 ユーザー インターフェイスで、[検索] 画面に移動し、次のタグを持つリソースの詳細検索を実行します。
    Scope: ncp\/ha         Tag: true
    Scope: ncp\/cluster    Tag: <name of the cluster in ncp.ini>

    1 つ以上の SpoofGuard リソースが表示されます。これらのリソースのタグをすべてクリアします。

  8. 次のコマンドを実行して、アップデートを開始します。
    kubectl apply -f ncp-{platform_name}.yml
  9. 次のコマンドを実行して、現在のアップデートの状態を確認します。
    kubectl get pods -o wide -n nsx-system

    出力に、新しいポッドが作成されていることと、古いポッドが終了していることが表示されます。アップデートが正常に完了すると、すべてのポッドの状態が Running と表示されます。