

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Migración de aplicaciones desde el Controlador de entrada de ALB obsoleto
<a name="lbc-remove"></a>

En este tema se explica cómo migrar desde versiones obsoletas de controladores. Más específicamente, se describe cómo eliminar las versiones obsoletas del Controlador del equilibrador de carga de AWS.
+ Las versiones obsoletas no se pueden actualizar. Primero debe eliminarlas y, a continuación, instalar una versión actual.
+ Las versiones obsoleta incluyen lo siguiente:
  +  Controlador de entradas de ALB de AWS para Kubernetes (“Controlador de entradas”), un predecesor del Controlador del equilibrador de carga de AWS.
  + Cualquier versión `0.1.x ` del Controlador del equilibrador de carga de AWS

## Eliminación de la versión obsoleta del controlador
<a name="lbc-remove-desc"></a>

**nota**  
Es posible que haya instalado la versión obsoleta con Helm o manualmente con manifiestos de Kubernetes. Realice el procedimiento utilizando la herramienta con la que la instaló originalmente.

1. Si ha instalado el gráfico de Helm `incubator/aws-alb-ingress-controller`, desinstálelo.

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

1. Si tiene la versión `0.1.x ` del gráfico `eks-charts/aws-load-balancer-controller` instalado, desinstálelo. La actualización de `0.1.x ` a la versión `1.0.0` no funciona debido a la incompatibilidad con la versión de la API webhook.

   ```
   helm delete aws-load-balancer-controller -n kube-system
   ```

1. Verifique si el controlador se encuentra instalado actualmente.

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

   Esta es la salida si el controlador no está instalado.

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

   Esta es la salida si el controlador está instalado.

   ```
   NAME                   READY UP-TO-DATE AVAILABLE AGE
   alb-ingress-controller 1/1   1          1         122d
   ```

1. Ingrese el siguiente comando para eliminar el 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
   ```

## Migración al Controlador del equilibrador de carga de AWS
<a name="lbc-migrate"></a>

Para migrar del Controlador de entrada de ALB para Kubernetes al Controlador del equilibrador de carga de AWS, haga lo siguiente:

1. Retire el controlador de entrada de ALB (consulte más arriba).

1.  [Instale el controlador del equilibrador de carga de AWS.](aws-load-balancer-controller.md#lbc-overview) 

1. Agregue una política adicional al rol de IAM utilizado por el Controlador del equilibrador de carga de AWS. Esta política permite al LBC administrar los recursos creados por el Controlador de entrada de ALB para Kubernetes.

1. Descargue la política de IAM. Esta política permite al Controlador del equilibrador de carga de AWS administrar los recursos creados por el Controlador de entrada de ALB para Kubernetes. También puede [ver la 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. Si su clúster está en las regiones de AWS AWS GovCloud (este de EE. UU.) o AWS GovCloud (oeste de EE. UU.), reemplace ` arn:aws: ` con `arn:aws-us-gov:`.

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

1. Cree la política de IAM y anote el ARN devuelto.

   ```
   aws iam create-policy \
     --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \
     --policy-document file://iam_policy_v1_to_v2_additional.json
   ```

1. Adjunte la política de IAM al rol de IAM utilizado por el Controlador del equilibrador de carga de AWS. Sustituya *your-role-name* por el nombre del rol, así como `AmazonEKSLoadBalancerControllerRole`.

   Si creó el rol con `eksctl`, para encontrar el nombre del rol que se creó, abra la [consola de AWS CloudFormation](https://console.aws.amazon.com/cloudformation) y seleccione la pila **eksctl-*my-cluster*-addon-iamserviceaccount-kube-system-aws-load-balancer-controller**. Seleccione la pestaña **Recursos**. El nombre del rol se encuentra en la columna de **ID físicos**.

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