このセクションでは、Kubernetes 環境の NCP を 2.4.* を 2.5 にアップデートする方法について説明します。
- インストール ファイルをダウンロードします。インストール ファイルのダウンロード を参照してください。
- 次のコマンドを実行し、現在の環境の 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 ユーザー インターフェイスで、[検索] 画面に移動し、次のタグを持つリソースの詳細検索を実行します。
Scope: ncp\/ha Tag: true Scope: ncp\/cluster Tag: <name of the cluster in ncp.ini>
1 つ以上の SpoofGuard リソースが表示されます。これらのリソースのタグをすべてクリアします。
- 次のコマンドを実行して、アップデートを開始します。
kubectl apply -f ncp-{platform_name}.yml - 次のコマンドを実行して、現在のアップデートの状態を確認します。
kubectl get pods -o wide -n nsx-system
出力に、新しいポッドが作成されていることと、古いポッドが終了していることが表示されます。アップデートが正常に完了すると、すべてのポッドの状態が Running と表示されます。