Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Este tópico descreve como migrar de versões descontinuadas do controlador. Mais especificamente, ele descreve como remover versões descontinuadas do AWS Load Balancer Controller.
-
Não é possível atualizar versões descontinuadas. Você deve removê-las primeiro e depois instalar uma versão atual.
-
As versões descontinuadas incluem:
-
AWS ALB Ingress Controller para Kubernetes (“Ingress Controller”), um antecessor do AWS Load Balancer Controller.
-
Qualquer versão
0.1.
do AWS Load Balancer Controllerx
-
Remover a versão obsoleta do controlador
nota
É possível que você tenha instalado a versão descontinuada usando o Helm ou de forma manual com manifestos do Kubernetes. Conclua o procedimento utilizando a ferramenta com a qual ele foi originalmente instalado.
-
Se você instalou o chart do Helm
incubator/aws-alb-ingress-controller
, desinstale-o.helm delete aws-alb-ingress-controller -n kube-system
-
Se tiver a versão
0.1.
do chartx
eks-charts/aws-load-balancer-controller
instalado, desinstale-a. O upgrade de0.1.
para a versãox
1.0.0
não funciona por causa de uma incompatibilidade com a versão da API do webhook.helm delete aws-load-balancer-controller -n kube-system
-
Verifique se o controlador está instalado no momento.
kubectl get deployment -n kube-system alb-ingress-controller
Esta é a saída se o controlador não estiver instalado.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not found
Esta é a saída se o controlador estiver instalado.
NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d
-
Insira o comando a seguir para executar o controlador.
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
Migrar para o AWS Load Balancer Controller
Para migrar do ALB Ingress Controller para Kubernetes para o AWS Load Balancer Controller, você precisa:
-
Remover o ALB Ingress Controller (veja as etapas anteriores).
-
Adicionar mais uma política ao perfil do IAM usado pelo AWS Load Balancer Controller. Esta política permite que o LBC gerencie recursos criados pelo ALB Ingress Controller para Kubernetes.
-
Faça download da política do IAM. Esta política permite que o AWS Load Balancer Controller gerencie recursos criados pelo ALB Ingress Controller para Kubernetes. Você também pode visualizar a política
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.11.0/docs/install/iam_policy_v1_to_v2_additional.json
-
Se o seu cluster estiver nas regiões AWS GovCloud (US-East) ou AWS GovCloud (US-West) AWS, substitua
arn:aws:
porarn:aws-us-gov:
.sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
-
Crie a política do IAM e observe o ARN retornado.
aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
-
Anexe a política do IAM ao perfil do IAM usado pelo AWS Load Balancer Controller. Substitua
your-role-name
pelo nome do perfil, comoAmazonEKSLoadBalancerControllerRole
.Se você criou o perfil usando
eksctl
, para encontrar o nome do perfil que foi criada, abra o consoleAWS CloudFormatione selecione a pilha eksctl-my-cluster-complemento-iamserviceaccount-kube-system-aws-load-balancer-controller
. Selecione a guia Recursos. O nome da função está na coluna ID físico.aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy