從叢集移除 Amazon EKS 附加元件 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

從叢集移除 Amazon EKS 附加元件

您可以使用 eksctl、AWS 管理主控台 或 AWS CLI,從您的叢集中移除 Amazon EKS 附加元件。

若要從叢集移除 Amazon EKS 附加元件:

  • 此附加元件提供的功能沒有任何停機時間。

  • 使用服務帳戶 (IRSA) 的 IAM 角色,並且附加元件具有與其關聯的 IAM 角色時,IAM 角色不會移除。

  • 若是使用 Pod 身分識別,附加元件擁有的任何 Pod 身分識別關聯皆會移除。若指定 AWS CLI 的 --preserve 選項,關聯將持續保留。

  • Amazon EKS 停止管理附加元件的設定。

  • 當有新版本可用時,主控台會停止通知您。

  • 您無法使用任何 AWS 工具或 API 更新附加元件。

  • 您可以選擇將附加元件軟體保留在叢集上,以便您可以自我管理附加元件軟體,或從叢集中移除附加元件軟體。如果您的叢集上的任何資源都不依賴於附加元件提供的功能,您應該僅從叢集中移除附加元件軟體。

先決條件

請完成以下操作再建立附加元件:

  • 現有 Amazon EKS 叢集。若要部署叢集,請參閱 開始使用 Amazon EKS

  • 檢查附加元件是否需要 IAM 角色。如需詳細資訊,請參閱

  • 已在裝置或 AWS CloudShell 上安裝版本 0.214.0 或更新版本的 eksctl 命令列工具。如需有關安裝或更新 eksctl 的指示,請參閱 eksctl 文件中的安裝一節。

程序

移除 Amazon EKS 附加元件時,您有兩個選項:

  • Preserve add-on software on your cluster (在叢集上保留附加元件軟體):此選項會移除任何設定的 Amazon EKS 管理。其也會移除 Amazon EKS 通知您更新的功能,並在您啟動更新後自動更新 Amazon EKS 附加元件。不過,該選項會保留您叢集上的附加元件軟體。此選項會使附加元件成為自我管理安裝,而不是 Amazon EKS 附加元件。如果啟用此選項,附加元件就無須停機。

  • Remove add-on software entirely from your cluster (從叢集中完全移除附加元件軟體):只有叢集上沒有資源依賴於附加元件提供的功能時,我們才會建議您將 Amazon EKS 附加元件從叢集中移除。

您可以使用 eksctl、AWS 管理主控台 或 AWS CLI 來移除 Amazon EKS 附加元件。

移除附加元件 (eksctl)

  1. 判斷叢集上目前安裝的附加元件。使用您叢集的名稱取代 my-cluster

    eksctl get addon --cluster my-cluster

    範例輸出如下。

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE coredns v1.8.7-eksbuild.2 ACTIVE 0 kube-proxy v1.23.7-eksbuild.1 ACTIVE 0 vpc-cni v1.10.4-eksbuild.1 ACTIVE 0 [...]

    您的輸出可能看起來有所不同,具體取決於您的叢集上有哪些附加元件和版本。

  2. 移除附加元件。使用叢集名稱取代 my-cluster,並使用您想要移除之上一步輸出中傳回的附加元件名稱取代 name-of-add-on。若移除 --preserve 選項,除了 Amazon EKS 不再管理附加元件之外,附加元件軟體也會從叢集中刪除。

    eksctl delete addon --cluster my-cluster --name name-of-addon --preserve

    若要了解移除附加元件的相關詳細資訊,請參閱 eksctl 文件中的刪除附加元件

移除附加元件 (AWS 主控台)

  1. 開啟 Amazon EKS 主控台

  2. 在左側導覽窗格中選擇叢集

  3. 選擇要移除 Amazon EKS 附加元件的叢集名稱。

  4. 選擇附加元件索引標籤。

  5. 選擇要移除的附加元件。

  6. 選擇移除

  7. 移除:附加元件名稱確認對話方塊中,執行以下操作:

    1. 若希望 Amazon EKS 停止管理附加元件的設定,請選取在叢集上保留。若要在叢集上保留附加元件軟體,請執行此動作。如此一來,您就可以自行管理附加元件的所有設定。

    2. 輸入附加元件的名稱。

    3. 選擇移除

移除附加元件 (AWS CLI)

  1. 您需要已在裝置或 AWS CloudShell 上安裝版本 0.214.0 或更新版本的 eksctl 命令列工具。如需有關安裝或更新 eksctl 的指示,請參閱 eksctl 文件中的安裝一節。

  2. 請參閱已安裝附加元件的清單。使用您叢集的名稱取代 my-cluster

    aws eks list-addons --cluster-name my-cluster

    範例輸出如下。

    { "addons": [ "coredns", "kube-proxy", "vpc-cni", "name-of-addon" ] }
  3. 移除已安裝的附加元件。使用叢集名稱取代 my-cluster,並使用您想要移除的附加元件名稱取代 name-of-add-on。移除 --preserve 會將附加元件軟體從叢集中刪除。

    aws eks delete-addon --cluster-name my-cluster --addon-name name-of-addon --preserve

    縮寫的範例輸出如下所示。

    { "addon": { "addonName": "name-of-add-on", "clusterName": "my-cluster", "status": "DELETING", } }
  4. 檢查移除狀態。使用叢集名稱取代 my-cluster,並使用您將移除的附加元件名稱取代 name-of-addon

    aws eks describe-addon --cluster-name my-cluster --addon-name name-of-addon

    移除附加元件之後,範例輸出如下所示。

    An error occurred (ResourceNotFoundException) when calling the DescribeAddon operation: No addon: name-of-addon found in cluster: my-cluster