选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

更新 Kubernetes kube-proxy 自行管理的附加组件

聚焦模式
更新 Kubernetes kube-proxy 自行管理的附加组件 - Amazon EKS

帮助改进此页面

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

帮助改进此页面

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

重要

建议您向集群添加 Amazon EKS 类型的附加组件,而不是自行管理类型的附加组件。如果不熟悉这些类型之间的区别,请参阅 Amazon EKS 附加组件。有关向集群中添加 Amazon EKS 附加组件的更多信息,请参阅 创建 Amazon EKS 附加组件。如果您无法使用 Amazon EKS 附加组件,我们鼓励您向容器路线图 GitHub 存储库提交有关您为什么无法使用的问题。

先决条件

注意事项

  • Amazon EKS 集群上的 Kube-proxy 具有与 Kubernetes 相同的兼容性和偏斜策略。了解如何验证 Amazon EKS 附加组件版本与集群的兼容性

    1. 确认已在集群上安装自行管理类型的附加组件。将 my-cluster 替换为您的集群的名称。

      aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --query addon.addonVersion --output text

      如果返回错误消息,则表明集群上安装有自行管理类型的附加组件。本主题中的其余步骤用于更新自行管理类型的附加组件。如果返回版本号,则表明集群上安装有 Amazon EKS 类型的附加组件。要更新附加组件的 Amazon EKS 类型,请使用更新 Amazon EKS 附件组件中的程序,而不是此主题中的程序。如果不熟悉这些附加组件类型之间的区别,请参阅 Amazon EKS 附加组件

    2. 查看集群上当前安装的容器映像版本。

      kubectl describe daemonset kube-proxy -n kube-system | grep Image

      示例输出如下。

      Image: 602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.29.1-eksbuild.2

      在示例输出中,集群上安装的版本是 v1.29.1-eksbuild.2

    3. 通过将 602401143452region-code 替换为上一步中输出的值,更新 kube-proxy 附加组件。将 v1.30.6-eksbuild.3 替换为最新可用的自行管理 kube-proxy 容器映像版本中针对各 Amazon EKS 集群版本表列出的 kube-proxy 版本。

      重要

      每种图像类型的清单都不同,且在默认最小图像类型之间不兼容。您必须使用与前一个图像相同的图像类型,以便入口点与参数匹配。

      kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.30.6-eksbuild.3

      示例输出如下。

      daemonset.apps/kube-proxy image updated
    4. 确认新版本现已安装在集群上。

      kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3

      示例输出如下。

      v1.30.0-eksbuild.3
    5. 如果您在同一集群中使用 x86Arm 节点,而且您的集群是在 2020 年 8 月 17 日之前部署的。那么请使用以下命令编辑您的 kube-proxy 清单以将多个硬件架构的节点选择器纳入其中。您只需执行此操作一次。将选择器添加到清单中之后,您无需在每次更新附加组件时都进行添加。如果您的集群是在 2020 年 8 月 17 日或之后部署的,则 kube-proxy 已经具有多架构功能。

      kubectl edit -n kube-system daemonset/kube-proxy

      将以下节点选择器添加到编辑器中的文件中,然后保存文件。有关在编辑器的何处纳入此文本的示例,请参阅 GitHub 上的 CNI 清单文件。这让 Kubernetes 能够根据节点的硬件架构提取正确的硬件映像。

      - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64
    6. 如果集群最初是使用 Kubernetes 1.14 版本或更高版本创建的,则可以跳过此步骤,因为 kube-proxy 已经包含了此 Affinity Rule。如果 Amazon EKS 集群最初是使用 Kubernetes 1.13 版本或更低版本创建的,且打算在集群中使用 Fargate 节点,则编辑 kube-proxy 清单纳入 NodeAffinity 规则,防止从 Fargate 节点上调度 kube-proxy 容器组(pod)。您只需执行此编辑一次。将 Affinity Rule 添加到清单中之后,您无需在每次更新附加组件时都进行添加。编辑 kube-proxy Daemonset。

      kubectl edit -n kube-system daemonset/kube-proxy

      将以下 Affinity Rule 添加到编辑器中文件中的 DaemonSet spec 部分,然后保存文件。有关在编辑器的何处纳入此文本的示例,请参阅 GitHub 上的 CNI 清单文件。

      - key: eks.amazonaws.com/compute-type operator: NotIn values: - fargate

本页内容

下一主题:

工作负载

上一主题:

kube-proxy
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。