delete 操作が完了する前に kubeconfig ファイルの有効期限が切れたため、システムはスーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタから NSX Application Platform コンポーネントの削除を完了しませんでした。
問題
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタから NSX Application Platform 環境を削除しようとしたときに、スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタへの接続に使用している kubeconfig ファイルの有効期限が delete 操作の完了前に切れたため、操作を完了できませんでした。プロンプトに沿って force delete 操作を実行しました。しかし、この操作では、NSX Manager 統合アプライアンスから NSX Application Platform エントリのみが削除されました。以前に展開した NSX Application Platform コンポーネントは、スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにまだ存在しています。これらのコンポーネントは、今後の NSX Application Platform の展開で同じスーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタを使用する前に削除する必要があります。
原因
クラスタへのアクセスに使用した kubeconfig ファイルの有効期限が切れたか、無効になったため、スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできなくなりました。
解決方法
- 更新された kubeconfig ファイルをインフラストラクチャ管理者から取得して、同じスーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできるようにします。
または、インフラストラクチャ管理者に問い合わせて、スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタに残っている NSX Application Platform コンポーネントの削除を依頼します。
- root ユーザーとして NSX Manager アプライアンス ノードにログインします。
以降のソリューションの手順で使用される
napp-h
コマンドは、次のコマンドの
NSX Manager セッションのエイリアスです。
helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform
- 更新された kubeconfig ファイルを /config/vmware/napps/.kube にある NSX Manager アプライアンスのファイルの現在の場所にコピーします。
- NSX Application Platform で NSX Network Detection and Response 機能を有効にした場合は、次のいずれかの方法を使用して、機能をまず削除します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall cloud-connector
nsx-manager-prompt> napp-h uninstall nsx-ndr
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスでき、Helm チャートがインストールされているその他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall cloud-connector
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall nsx-ndr
この手順で指定した前述のコマンドのいずれかが失敗またはタイムアウトした場合は、次の API 呼び出しを使用して削除プロセスを再試行します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall cloud-connector --no-hooks
nsx-manager-prompt> napp-h uninstall nsx-ndr --no-hooks
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできる他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall cloud-connector --no-hooks
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall nsx-ndr --no-hooks
- NSX Application Platform で NSX マルウェア防止 機能を有効にした場合は、次のいずれかの方法を使用してまず削除します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall cloud-connector
nsx-manager-prompt> napp-h uninstall reputation-service
nsx-manager-prompt> napp-h uninstall malware-prevention
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできる他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall cloud-connector
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall reputation-service
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall malware-prevention
この手順で指定した前述のコマンドのいずれかが失敗またはタイムアウトした場合は、次の API 呼び出しを使用して再試行します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall cloud-connector --no-hooks
nsx-manager-prompt> napp-h uninstall reputation-service --no-hooks
nsx-manager-prompt> napp-h uninstall malware-prevention --no-hooks
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできる他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall cloud-connector --no-hooks
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall reputation-service --no-hooks
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall malware-prevention --no-hooks
- NSX Application Platform で NSX Intelligence 機能を有効にした場合は、次のいずれかの方法を使用してまず削除します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall intelligence
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスでき、Helm チャートがインストールされているその他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall intelligence
この手順で指定した前述のコマンドのいずれかが失敗またはタイムアウトした場合は、次の API 呼び出しを使用して削除プロセスを再試行します。
NSX Manager コマンド プロンプトから、次の API 呼び出しを使用します。
nsx-manager-prompt> napp-h uninstall intelligence --no-hooks
スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタにアクセスできる他のシステムから、次の API 呼び出しを使用します。
K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall intelligence --no-hooks
- NSX Application Platform コンポーネントを削除します。NSX Manager コマンド プロンプトで、次のコマンドをリストされている順序で個別に入力します。
- Upgrade Coordinator が以前に展開されていた場合は、次のコマンドを使用してアンインストールします。
nsx-manager-prompt> napp-h uninstall nsxi-upgrade
- 次のコマンドを入力して、スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタから NSX Metrics 機能を削除します。
nsx-manager-prompt> napp-h uninstall metrics
- スーパーバイザーまたはアップストリーム Kubernetes クラスタ上の TKG クラスタから NSX Application Platform をアンインストールし、次のコマンドを個別に入力してそのネームスペースを削除します。
nsx-manager-prompt> napp-h uninstall nsxi-platform
nsx-manager-prompt> kubectl --kubeconfig <path-to-updated-kubeconfig-file> delete namespace nsxi-platform
- 次のコマンドを使用して、プロジェクト contour コンポーネントをアンインストールし、そのネームスペースを削除します。
nsx-manager-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace projectcontour uninstall projectcontour
nsx-manager-prompt> kubectl --kubeconfig <path-to-updated-kubeconfig-file> delete namespace projectcontour
- 次のコマンドを使用して、Certificate Manager をアンインストールし、そのネームスペースを削除します。
nsx-manager-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace cert-manager uninstall cert-manager
nsx-manager-prompt> kubectl --kubeconfig <path-to-updated-kubeconfig-file> delete namespace cert-manager