从现有安装的 AWS ALB 入口控制器 (v1) 迁移到新的 AWS 负载均衡器控制器 (v2) 的问题

时间:2021-07-29 22:50:25

标签: amazon-web-services kubernetes kubernetes-ingress amazon-eks

我们在 EKS 集群中有一个现有的 ALB Ingress 控制器部署,镜像为 v1.1.9:

docker.io/amazon/aws-alb-ingress-controller:v1.1.9

现在我们正在从 AWS ALB 入口控制器 (v1) 迁移到新的 AWS 负载均衡器控制器 (v2)。

遵循本文档:https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/deploy/upgrade/migrate_v1_v2/

它提到首先需要手动卸载现有的 AWSALBIngressController,但缺少如何卸载它的详细信息。试图找到关于此的 AWS EKS 文档,但在任何地方都没有提及实际手动卸载的命令或其他详细信息。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,我将删除所有使用 ALB 入口控制器的入口对象(将导致停机)。为此,kubectl get ingress -A 逐一检查它们,看看它是否有注释 -

annotations:
    kubernetes.io/ingress.class: alb

然后使用 kubectl delete ingress <ingress-name> 删除入口对象。

要卸载控制器本身,您需要弄清楚它是如何安装的。

  1. 检查是否使用了头盔 - helm ls -A。如果您找到 ALB 入口控制器的版本,只需使用 helm delete <release-name> 命令删除该版本。
  2. 如果未使用 helm,则完成 v1.1 文档的安装 - https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/guide/controller/setup/#installation 并撤消这些步骤。例如 -
kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.9/docs/examples/rbac-role.yaml

kubectl delete -f alb-ingress-controller.yaml

在盲目删除资源之前请务必kubectl get,并根据您的设置调整删除命令,谢谢。

相关问题