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.
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.
del Controlador del equilibrador de carga de AWSx
-
Eliminación de la versión obsoleta del controlador
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.
-
Si ha instalado el gráfico de Helm
incubator/aws-alb-ingress-controller
, desinstálelo.helm delete aws-alb-ingress-controller -n kube-system
-
Si tiene la versión
0.1.
del gráficox
eks-charts/aws-load-balancer-controller
instalado, desinstálelo. La actualización de0.1.
a la versiónx
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
-
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
-
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
Para migrar del Controlador de entrada de ALB para Kubernetes al Controlador del equilibrador de carga de AWS, haga lo siguiente:
-
Retire el controlador de entrada de ALB (consulte más arriba).
-
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.
-
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
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.11.0/docs/install/iam_policy_v1_to_v2_additional.json
-
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:
conarn:aws-us-gov:
.sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
-
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
-
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í comoAmazonEKSLoadBalancerControllerRole
.Si creó el rol con
eksctl
, para encontrar el nombre del rol que se creó, abra la consola de AWS CloudFormationy 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