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.
Configuración de grupos de destino de varios clústeres
De forma predeterminada, el controlador del equilibrador de carga del modo automático de Amazon EKS asume el control completo sobre los grupos de destino que configura. Cuando un grupo de destino se registra en el controlador, anula el registro de todos los destinos que no estén actualmente en el clúster. Esto garantiza que el grupo de destino refleje el conjunto exacto de destinos administrados por el clúster.
Al habilitar la compatibilidad con varios clústeres, se cambia este comportamiento. Un grupo de destino con la compatibilidad con varios clústeres habilitada puede estar asociado a varios clústeres de Kubernetes o admitir destinos arbitrarios de otros orígenes. Cada clúster registra y anula el registro solo de los destinos de su propiedad, en lugar de anular el registro de los destinos que pertenecen a otros clústeres u orígenes.
Funcionamiento
Cuando se habilita la compatibilidad con varios clústeres, cada clúster hace un seguimiento del conjunto de destinos que administra y concilia solo esos destinos en el grupo de destino compartido. El modo automático de Amazon EKS almacena los objetivos rastreados de cada clúster en un ConfigMap de Kubernetes denominado eks-lbc-targets-<targetgroupbinding-name>, en el mismo espacio de nombres que los recursos del equilibrador de carga.
nota
El controlador del equilibrador de carga de AWS ascendente almacena este estado en un ConfigMap con el prefijo aws-lbc-targets-. En el modo automático de Amazon EKS, el prefijo es eks-lbc-targets- en su lugar, por lo que, si sigue las instrucciones ascendentes, inspeccione el ConfigMap eks-lbc-targets-.
El equilibrador de carga distribuye el tráfico por igual entre todos los destinos registrados. El controlador no admite la distribución ponderada entre clústeres. La compatibilidad con varios clústeres funciona tanto con el tipo de destino ip como instance.
Habilitación de la compatibilidad con varios clústeres
Habilite la compatibilidad con varios clústeres mediante uno de los siguientes métodos, en función del tipo de recurso:
-
TargetGroupBinding: establezca
spec.multiClusterTargetGroup: true. -
Ingreso (ALB): agregue la anotación
alb.ingress.kubernetes.io/multi-cluster-target-group: "true". -
Servicio (NLB): agregue la anotación
service.beta.kubernetes.io/aws-load-balancer-multi-cluster-target-group: "true".
Consideraciones para el modo automático de Amazon EKS
La guía sobre grupos de destino de varios clústeres
-
El recurso personalizado
TargetGroupBindingestá en el grupo de APIeks.amazonaws.com/v1en lugar deelbv2.k8s.aws/v1beta1. -
El controlador
IngressClasseseks.amazonaws.com/alb. -
No establezca la anotación
alb.ingress.kubernetes.io/tags. La política administradaAmazonEKSLoadBalancingPolicyrestringeaws:TagKeysa una lista de permitidos, por lo que las etiquetas personalizadas provocan un error de acceso denegado y el controlador no puede conciliarlas. Esto puede provocar que el finalizador de ingreso se atasque al eliminarlo. -
Todos los clústeres participantes deben estar en la misma VPC, ya que un grupo de destino está limitado a una sola VPC.
Ejemplo
Para obtener un tutorial paso a paso en el que se comparte un solo grupo de destino entre dos clústeres (uno que es propietario del equilibrador de carga a través de un ingreso y otro que se une a través de TargetGroupBinding), consulte Uso compartido de un grupo de destino entre dos clústeres.