

 **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.

# Migrar aplicações do ALB Ingress Controller descontinuado
<a name="lbc-remove"></a>

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.x ` do AWS Load Balancer Controller

## Remover a versão obsoleta do controlador
<a name="lbc-remove-desc"></a>

**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.

1. Se você instalou o chart do Helm `incubator/aws-alb-ingress-controller`, desinstale-o.

   ```
   helm delete aws-alb-ingress-controller -n kube-system
   ```

1. Se tiver a versão `0.1.x ` do chart `eks-charts/aws-load-balancer-controller` instalado, desinstale-a. O upgrade de `0.1.x ` para a versão `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
   ```

1. 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
   ```

1. 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
<a name="lbc-migrate"></a>

Para migrar do ALB Ingress Controller para Kubernetes para o AWS Load Balancer Controller, você precisa:

1. Remover o ALB Ingress Controller (veja as etapas anteriores).

1.  [Instale o AWS Load Balancer Controller.](aws-load-balancer-controller.md#lbc-overview) 

1. 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.

1. 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 ](https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/main/docs/install/iam_policy_v1_to_v2_additional.json).

   ```
   curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.1/docs/install/iam_policy_v1_to_v2_additional.json
   ```

1. Se o seu cluster estiver nas regiões AWS GovCloud (US-East) ou AWS GovCloud (US-West) AWS, substitua ` arn:aws: ` por `arn:aws-us-gov:`.

   ```
   sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
   ```

1. 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
   ```

1. Anexe a política do IAM ao perfil do IAM usado pelo AWS Load Balancer Controller. Substitua *your-role-name* pelo nome do perfil, como `AmazonEKSLoadBalancerControllerRole`.

   Se você criou o perfil usando o `eksctl`, para localizar o nome do perfil criado, abra o [console do AWS CloudFormation](https://console.aws.amazon.com/cloudformation) e selecione a pilha **eksctl-*my-cluster*-addon-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
   ```