选择您的 Cookie 首选项

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

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

从已弃用的 ALB 入口控制器迁移应用程序

聚焦模式
从已弃用的 ALB 入口控制器迁移应用程序 - Amazon EKS

帮助改进此页面

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

帮助改进此页面

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

本主题介绍如何从已弃用的控制器版本迁移。更具体地说,是介绍如何移除 AWS 负载均衡器控制器的已弃用版本。

  • 已弃用的版本无法升级。必须先将其移除,然后再安装当前版本。

  • 已弃用的版本包括:

    • 适用于 Kubernetes 的 AWS ALB 入口控制器(简称“入口控制器”),是 AWS 负载均衡器控制器的前身。

    • 任何 0.1.x 版本的 AWS 负载均衡器控制器

移除已弃用的控制器版本

注意

您可能已经使用 Helm 安装了已弃用的版本,或者使用 Kubernetes 清单手动安装了该版本。使用原来安装它的工具完成该过程。

  1. 如果您安装了 incubator/aws-alb-ingress-controller Helm 图表,请将其卸载。

    helm delete aws-alb-ingress-controller -n kube-system
  2. 如果安装了 eks-charts/aws-load-balancer-controller 图表的 0.1.x 版本,请将其卸载。由于与 Webhook API 版本不兼容,从 0.1.x 升级到版本 1.0.0 不起作用。

    helm delete aws-load-balancer-controller -n kube-system
  3. 检查当前是否安装了该控制器。

    kubectl get deployment -n kube-system alb-ingress-controller

    这是未安装控制器情况下的输出。

    Error from server (NotFound): deployments.apps "alb-ingress-controller" not found

    这是安装了控制器情况下的输出。

    NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d
  4. 输入以下命令以删除控制器。

    kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.8/docs/examples/alb-ingress-controller.yaml kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.8/docs/examples/rbac-role.yaml

迁移到 AWS 负载均衡器控制器

要从适用于 Kubernetes 的 ALB 入口控制器迁移到 AWS 负载均衡器控制器,您需要:

  1. 移除 ALB 入口控制器(请参阅上述内容)。

  2. 安装 AWS 负载均衡器控制器。

  3. 向 AWS 负载均衡器控制器使用的 IAM 角色添加其他策略。此策略允许 LBC 管理由适用于 Kubernetes 的 ALB 入口控制器创建的资源。

  4. 下载该 IAM 策略。此策略允许 AWS 负载均衡器控制器管理由适用于 Kubernetes 的 ALB 入口控制器创建的资源。您还可以查看策略

    curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.11.0/docs/install/iam_policy_v1_to_v2_additional.json
  5. 如果您的集群位于 AWS GovCloud(美国东部)或 AWS GovCloud(美国西部)AWS 区域,则将 arn:aws: 替换为 arn:aws-us-gov:

    sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
  6. 创建 IAM 策略并记下返回的 ARN。

    aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
  7. 将 IAM 策略附加到 AWS 负载均衡器控制器使用的 IAM 角色。将 your-role-name 替换为角色的名称,例如 AmazonEKSLoadBalancerControllerRole

    如果您使用 eksctl 创建该角色,请找到已创建的角色名称,打开 AWS CloudFormation 控制台并选择 eksctl-my-cluster-addon-iamserviceaccount-kube-system-aws-load-balancer-controller 堆栈。选择资源选项卡。角色名称位于 Physical ID(物理 ID)列。

    aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy

下一主题:

CoreDNS

上一主题:

使用清单安装
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。