从集群中移除 Amazon EKS 附加组件 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

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

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

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

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

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

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

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

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

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

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

先决条件

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

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

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

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

过程

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

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

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

您可以使用 eksctl、Amazon Web Services Management Console或 Amazon 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 文档中的 Deleting addons

移除附加组件(Amazon 控制台)

  1. 打开 Amazon EKS 控制台

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

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

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

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

  6. 选择移除

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

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

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

    3. 选择移除

移除附加组件(Amazon CLI)

  1. 您需要在设备或 Amazon CloudShell 上安装 0.205.0 版或更高版本的 eksctl 命令行工具。要安装或更新 eksctl,请参阅 eksctl 文档中的 Installation

  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