系統未完成從 TKG Cluster on Supervisor 或上游 Kubernetes 叢集刪除 NSX Application Platform 元件的程序,因為 kubeconfig 檔案在 delete 作業完成之前已到期。

問題

嘗試從 TKG Cluster on Supervisor 或上游 Kubernetes 叢集刪除 NSX Application Platform 部署時,該作業無法完成,因為您用於連線到 TKG Cluster on Supervisor 或上游 Kubernetes 叢集的 kubeconfig 檔案在 delete 作業完成之前已到期。在出現提示時,您執行了 force delete 作業。不過,該作業僅從 NSX Application Platform Unified Appliance 中移除 NSX Manager 項目。先前部署的 NSX Application Platform 元件仍存在於 TKG Cluster on Supervisor 或上游 Kubernetes 叢集上。您必須先刪除這些元件,然後才能使用相同的 TKG Cluster on Supervisor 或上游 Kubernetes 叢集進行任何未來的 NSX Application Platform 部署。

原因

TKG Cluster on Supervisor 或上游 Kubernetes 叢集變得無法存取,因為您用於存取該叢集的 kubeconfig 檔案已到期或變得無效。

解決方案

  1. 從基礎結構管理員處取得更新的 kubeconfig 檔案,以便存取相同的 TKG Cluster on Supervisor 或上游 Kubernetes 叢集。

    或者,要求基礎結構管理員協助您移除仍在 TKG Cluster on Supervisor 或上游 Kubernetes 叢集上的 NSX Application Platform 元件。

  2. root 使用者身分登入 NSX Manager 應用裝置節點。
    請注意,在後面的解決方案步驟中使用的 napp-h 命令是下列命令的 NSX Manager 工作階段中的別名。
    helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform
  3. 將更新的 kubeconfig 檔案複製到該檔案在 NSX Manager 應用裝置中的目前位置 /config/vmware/napps/.kube
  4. 如果您在 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
    • 從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集且已安裝 Helm Chart 的任何其他系統,使用下列 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

    從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集的任何其他系統,使用下列 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
  5. 如果您在 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
    • 從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集的任何其他系統,使用下列 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

    從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集的任何其他系統,使用下列 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
  6. 如果您在 NSX Application Platform 上啟用 NSX Intelligence 功能,請先使用下列方法之一刪除它。
    • NSX Manager 命令提示字元,使用下列 API 呼叫。

      nsx-manager-prompt> napp-h uninstall intelligence
    • 從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集且已安裝 Helm Chart 任何其他系統,使用下列 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

    從有權存取 TKG Cluster on Supervisor 或上游 Kubernetes 叢集的任何其他系統,使用下列 API 呼叫。

    K8s-prompt> helm --kubeconfig <path-to-updated-kubeconfig-file> --namespace nsxi-platform uninstall intelligence --no-hooks
  7. 刪除 NSX Application Platform 元件。在 NSX Manager 命令提示字元,依列出的順序分別輸入下列命令。
    1. 如果先前已部署升級協調器,請使用下列命令將其解除安裝。
      nsx-manager-prompt> napp-h uninstall nsxi-upgrade
    2. 輸入下列命令,以從 TKG Cluster on Supervisor 或上游 Kubernetes 叢集移除 NSX 度量 功能。
      nsx-manager-prompt> napp-h uninstall metrics
    3. 分別輸入下列命令,以從 TKG Cluster on Supervisor 或上游 Kubernetes 叢集中解除安裝 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 
    4. 使用下列命令解除安裝專案 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
    5. 使用下列命令來解除安裝憑證管理員並刪除其命名空間。
      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