刪除叢集 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

刪除叢集

使用 Amazon EKS叢集完成後,您應該刪除與其相關聯的資源,才不會產生任何不必要的成本。

若要移除連接的叢集,請參閱 從 Amazon 主控台取消註冊 Kubernetes 叢集 EKS

重要
  • 如果您的叢集中有使用中的服務與負載平衡器相關,必須在刪除叢集前先刪除這些服務,才能夠正確刪除負載平衡器。否則,您可以在 中擁有孤立的資源VPC,以防止您刪除 VPC。

  • 如果由於已移除叢集建立者而收到錯誤,請參閱此篇文章來解決問題。

  • Amazon Managed Service for Prometheus 資源在叢集生命週期之外,需要獨立於叢集進行維護。當您刪除叢集時,請務必同時刪除任何適用的抓取器,以停止適用的成本。如需詳細資訊,請參閱 Amazon Managed Service for Prometheus 使用者指南 中的尋找和刪除抓取器

您可以刪除具有 eksctl、 AWS Management Console或 的叢集 AWS CLI。

eksctl
若要使用 刪除 Amazon EKS叢集和節點 eksctl

此程序需要 eksctl 版本 0.191.0 或更新版本。您可使用以下命令檢查您的版本:

eksctl version

如需有關安裝或更新 eksctl 的指示,請參閱 eksctl 文件中的 Installation 一節。

  1. 列出所有在叢集中執行的服務。

    kubectl get svc --all-namespaces
  2. 刪除任何與 EXTERNAL-IP 值相關的服務。這些服務由 Elastic Load Balancing 負載平衡器前端,您必須在 中刪除它們 Kubernetes 允許適當地釋放負載平衡器和相關聯的資源。

    kubectl delete svc service-name
  3. 使用下列命令,將 prod 取代為您的叢集名稱,來刪除叢集及其關聯的節點。

    eksctl delete cluster --name prod

    輸出:

    [ℹ] using region region-code [ℹ] deleting EKS cluster "prod" [ℹ] will delete stack "eksctl-prod-nodegroup-standard-nodes" [ℹ] waiting for stack "eksctl-prod-nodegroup-standard-nodes" to get deleted [ℹ] will delete stack "eksctl-prod-cluster" [✔] the following EKS cluster resource(s) for "prod" will be deleted: cluster. If in doubt, check CloudFormation console
AWS Management Console
若要使用 刪除 Amazon EKS叢集 AWS Management Console
  1. 列出所有在叢集中執行的服務。

    kubectl get svc --all-namespaces
  2. 刪除任何與 EXTERNAL-IP 值相關的服務。這些服務由 Elastic Load Balancing 負載平衡器前端,您必須在 中刪除它們 Kubernetes 允許適當地釋放負載平衡器和相關聯的資源。

    kubectl delete svc service-name
  3. 刪除所有節點群組和 Fargate 描述檔。

    1. 開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 Amazon EKS主控台。

    2. 在左側導覽窗格中,選擇 Amazon EKS Clusters ,然後在叢集的標籤式清單中,選擇您要刪除的叢集名稱。

    3. 選擇 Compute (運算) 索引標籤,然後選取要刪除的節點群組。選擇 Delete (刪除),輸入節點群組的名稱,然後選擇 Delete (刪除)。刪除叢集中的所有節點群組。

      注意

      列出的節點群組僅為受管節點群組

    4. 選擇要刪除的 Fargate Profile (Fargate 描述檔),選取 Delete (刪除),輸入描述檔的名稱,然後選擇 Delete (刪除)。刪除叢集中的所有 Fargate 描述檔。

  4. 刪除所有自我管理的節點 AWS CloudFormation 堆疊。

    1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

    2. 選擇要刪除的節點堆疊,然後選擇 Delete (刪除)。

    3. Delete stack (刪除堆疊) 確認對話方塊中,選擇 Delete stack (刪除堆疊)。刪除叢集中的所有自我管理節點堆疊。

  5. 刪除叢集。

    1. 開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 Amazon EKS主控台。

    2. 選擇要刪除的叢集並選擇 Delete (刪除)

    3. 在刪除叢集確認畫面上,選擇 Delete (刪除)

  6. (選用) 刪除VPC AWS CloudFormation 堆疊。

    1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

    2. 選取要刪除的VPC堆疊,然後選擇刪除

    3. Delete stack (刪除堆疊) 確認對話方塊中,選擇 Delete stack (刪除堆疊)。

AWS CLI
若要使用 刪除 Amazon EKS叢集 AWS CLI
  1. 列出所有在叢集中執行的服務。

    kubectl get svc --all-namespaces
  2. 刪除任何與 EXTERNAL-IP 值相關的服務。這些服務由 Elastic Load Balancing 負載平衡器前端,您必須在 中刪除它們 Kubernetes 允許適當地釋放負載平衡器和相關聯的資源。

    kubectl delete svc service-name
  3. 刪除所有節點群組和 Fargate 描述檔。

    1. 使用下列命令列出叢集中的節點群組。

      aws eks list-nodegroups --cluster-name my-cluster
      注意

      列出的節點群組僅為受管節點群組

    2. 使用下列命令來刪除每個節點群組。刪除叢集中的所有節點群組。

      aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
    3. 使用下列命令列出您叢集中的 Fargate 描述檔。

      aws eks list-fargate-profiles --cluster-name my-cluster
    4. 使用下列命令來刪除每個 Fargate 描述檔。刪除叢集中的所有 Fargate 描述檔。

      aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
  4. 刪除所有自我管理的節點 AWS CloudFormation 堆疊。

    1. 使用下列命令列出可用的 AWS CloudFormation 堆疊。在產生輸出中尋找節點範本名稱。

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 使用以下命令,將 node-stack 取代為您節點堆疊的名稱,來刪除工作節點堆疊。刪除叢集中的所有自我管理節點堆疊。

      aws cloudformation delete-stack --stack-name node-stack
  5. 使用以下命令,將 my-cluster 取代為您的叢集名稱,來刪除叢集。

    aws eks delete-cluster --name my-cluster
  6. (選用) 刪除VPC AWS CloudFormation 堆疊。

    1. 使用下列命令列出可用的 AWS CloudFormation 堆疊。在產生的輸出中尋找VPC範本名稱。

      aws cloudformation list-stacks --query "StackSummaries[].StackName"
    2. 使用下列命令刪除VPC堆疊,my-vpc-stack以您的VPC堆疊名稱取代 。

      aws cloudformation delete-stack --stack-name my-vpc-stack