刪除使用者叢集

如要刪除使用者叢集,您必須具備使用者叢集管理員角色 (user-cluster-admin 角色)。

如要刪除使用者群組,請完成下列步驟:

主控台

  1. 在導覽選單中,選取「叢集」

  2. 在叢集清單中,按一下要刪除的叢集。

  3. 按一下「delete」(刪除)「Delete Cluster」(刪除叢集)

  4. 系統提示時,請輸入指定的確認詞組,然後按一下「刪除」刪除叢集。

kubectl

  1. 暫停使用者叢集 GDCH Cluster 自訂資源的對帳作業:

    kubectl annotate clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        cluster.gdc.goog/paused=true --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    
  2. 觸發刪除使用者叢集的 GDCH Cluster 自訂資源:

    kubectl delete clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG --wait=false
    
  3. 開始刪除使用者叢集中的所有NodePoolClaim自訂資源:

    kubectl delete --all nodepoolclaims -n NAMESPACE \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG --wait=false
    

    這項指令會開始在使用者叢集中刪除所有節點集區聲明,並在背景執行作業。

  4. 刪除使用者叢集的 Cluster 自訂資源:

    kubectl delete clusters USER_CLUSTER_NAME \
        -n NAMESPACE --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    這個指令可能需要幾分鐘才能完成,實際時間取決於要刪除的使用者叢集節點集區數量。

  5. 刪除命名空間自訂資源:

    kubectl --kubeconfig=ADMIN_CLUSTER_KUBECONFIG delete namespace NAMESPACE
    
  6. 刪除 istio-system 命名空間中的 Istio Secret:

    kubectl delete secrets istio-remote-secret-USER_CLUSTER_NAME -n istio-system \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    在某些情況下,您的 Istio 密鑰可能會有不同的名稱。如要列出 Istio 密鑰並確認名稱,請執行下列指令:

    kubectl get secrets -n istio-system \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    
  7. 移除與目標使用者叢集同名,但位於不同命名空間的位址集區聲明:

    for j in $(kubectl get addresspoolclaims -A -o custom-columns=:.metadata.namespace --kubeconfig=ADMIN_CLUSTER_KUBECONFIG);
    do
    kubectl delete addresspoolclaims USER_CLUSTER_NAME -n $j --kubeconfig=ADMIN_CLUSTER_KUBECONFIG;
    done
    

    執行這項指令後,您應該會看到類似下列的錯誤:

    Error from server (NotFound): addresspoolclaims.system.private.gdc.goog "USER_CLUSTER_NAME" not found
    

    請忽略這些錯誤。這項指令會嘗試在所有命名空間中,找出具有指定叢集名稱的所有位址集區聲明。部分命名空間不含名稱相同的位址集區聲明,因此會發生錯誤。

  8. 確認您已刪除使用者叢集的命名空間:

    kubectl get namespaces NAMESPACE \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    如果命名空間已刪除,輸出內容會顯示錯誤,指出找不到命名空間。例如:

    Error from server (NotFound): namespaces NAMESPACE not found
    
  9. 取消暫停使用者叢集的 GDCH Cluster 自訂資源協調程序:

    kubectl annotate clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        cluster.gdc.goog/paused- --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

API

  • 如要刪除使用者叢集,請從 GDC 執行個體中移除 Cluster 自訂資源:

    kubectl delete clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    更改下列內容:

    • USER_CLUSTER_NAME:要刪除的使用者叢集名稱。
    • ADMIN_CLUSTER_KUBECONFIG:管理員叢集的 kubeconfig 檔案路徑。