从集群中移除 Amazon EKS 附加组件 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

从集群中移除 Amazon EKS 附加组件

您可以使用 eksctl、AWS Management Console或 AWS CLI 从集群中移除 Amazon EKS 附加组件。

从集群中移除 Amazon EKS 附加组件时:

  • 附加组件提供的功能不停机。

  • 如果您使用的是服务账户的 IAM 角色(IRSA),并且附加组件有与其关联的 IAM 角色,则不会移除该 IAM 角色。

  • 如果您使用的是容器组身份,则该附加组件拥有的所有容器组身份关联都将被移除。如果将 --preserve 选项指定为 AWS CLI,则将会保留关联。

  • Amazon EKS 停止管理附加组件的设置。

  • 控制台停止通知您新版本何时可用。

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

  • 您可以选择将附加软件留在集群上,以便您自行管理,您也可以从集群中删除附加软件。只有当集群上没有资源依赖于附加组件提供的功能时,您才能从集群中删除附加软件。

先决条件

在创建附加组件之前,请完成以下步骤:

  • 现有 Amazon EKS 集群。要部署一个角色,请参阅 开始使用 Amazon EKS

  • 检查附加组件是否需要 IAM 角色。有关更多信息,请参阅

  • 您的设备或 AWS CloudShell 上安装了 0.187.0 版或更高版本的 eksctl 命令行工具。要安装或更新 eksctl,请参阅 eksctl 文档中的 Installation

过程

您可以使用 eksctl、AWS Management Console或 AWS CLI 移除 Amazon EKS 附加组件。如果附加组件需要 IAM 角色,请参阅 来自 AWS 的 Amazon EKS 附加组件 中特定附加组件的详细信息,以了解有关创建角色的详细信息。

您可以通过两种方式来移除 Amazon EKS 附加组件:

  • 将附加组件保留在您的集群上 - 此方法将移除 Amazon EKS 对任何设置的管理。还移除 Amazon EKS 通知您更新以及在您启动更新后自动更新 Amazon EKS 附加组件的功能。但是,此方法会保留集群上的附加组件软件。此选项会将附加组件作为自行管理安装使用,而不是作为 Amazon EKS 附加组件使用。使用此方法,附加组件不停机。

  • 从集群中完全删除附加组件 - 我们建议只有当集群中没有资源依赖于附加组件时,才从集群移除 Amazon EKS 附加组件。

eksctl
使用 eksctl 移除 Amazon EKS 附加组件
  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 文档中的 Deleting addons

AWS Management Console
使用 AWS Management Console移除 Amazon EKS 附加组件
  1. 访问 https://console.aws.amazon.com/eks/home#/clusters 打开 Amazon EKS 控制台。

  2. 在左侧导航窗格中,选择集群

  3. 选择要从中移除 Amazon EKS 附加组件的集群名称。

  4. 选择附加组件选项卡。

  5. 选择要移除的附加组件。

  6. 选择移除

  7. 移除:name of addon 确认对话框中,执行以下操作:

    1. 如果希望 Amazon EKS 停止管理附加组件设置,请选择在集群上保留。如果要在集群上保留附加组件软件,请执行此操作。这样您可以自行管理附加组件的所有设置。

    2. 输入附加组件的名称。

    3. 选择移除

AWS CLI
先决条件

您的设备或 AWS CloudShell 上安装了 0.187.0 版或更高版本的 eksctl 命令行工具。要安装或更新 eksctl,请参阅 eksctl 文档中的 Installation

使用 AWS CLI 移除 Amazon EKS 附加组件
  1. 查看已安装的附加组件列表。将 my-cluster 替换为您的集群名称。

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

    示例输出如下。

    { "addons": [ "coredns", "kube-proxy", "vpc-cni", "name-of-addon" ] }
  2. 移除已安装的附加组件。将 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", [...]
  3. 检查移除操作的状态。将 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