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.
Información sobre la asignación de direcciones IPv6 a clústeres, pods y servicios
Aplicación: pods con instancias de Amazon EC2 y pods de Fargate
De forma predeterminada, Kubernetes asigna direcciones IPv4 a sus pods y servicios. En lugar de asignar direcciones IPv4 a sus pods y servicios, puede configurar el clúster para que les asigne direcciones IPv6. Amazon EKS no admite servicios o pods de doble pila, aunque Kubernetes sí lo hace. Como resultado, no puede asignar ambos tipos de direcciones, IPv4 e IPv6, a sus pods y servicios.
Selecciona qué familia IP desea utilizar para su clúster cuando lo cree. Una vez creado el clúster, no se puede cambiar la familia.
Para ver un tutorial sobre cómo implementar un clúster IPv6 de Amazon EKS, consulte Implementación de un clúster IPv6 de Amazon EKS y nodos administrados de Amazon Linux.
A continuación, se detallan consideraciones que se deben tener a la hora de utilizar esta característica:
Compatibilidad de características de IPv6
-
Incompatibilidad con Windows: los pods y los servicios de Windows no son compatibles.
-
Se requieren nodos EC2 basados en Nitro: solo puede utilizar
IPv6con nodos de Amazon EC2 o Fargate de AWS basados en Nitro. -
Compatible con nodos EC2 y Fargate: se puede utilizar
IPv6con Asignación de los grupos de seguridad a pods individuales y nodos de Amazon EC2 y Fargate. -
Outposts no compatibles: no se puede utilizar
IPv6con Implementación de Amazon EKS en las instalaciones con AWS Outposts. -
FSx for Lustre no es compatible: Uso del almacenamiento de aplicaciones de alto rendimiento con Amazon FSx para Lustre no es compatible.
-
Redes personalizadas no compatibles: si anteriormente utilizó Implementación de pods en subredes alternativas con redes personalizadas para ayudar a aliviar el agotamiento de la dirección IP, puede utilizar
IPv6en su lugar. No puede utilizar redes personalizadas conIPv6. Si utiliza redes personalizadas para el aislamiento de red, es posible que deba continuar utilizando redes personalizadas y la familiaIPv4para sus clústeres.
Asignaciones de dirección IP
-
Servicios de Kubernetes: a los servicios de Kubernetes solo se les asigna una dirección
IPv6. No se les asigna direcciones IPv4. -
Pods: a los pods se les asigna una dirección IPv6 y una dirección IPv4 local del host. La dirección IPv4 local del host se asigna mediante un complemento de la CNI local del host encadenado con la CNI de la VPC y la dirección no se informa al plano de control de Kubernetes. Solo se usa cuando un pod necesita comunicarse con un recurso IPv4 externo en otra Amazon VPC o en Internet. La dirección IPv4 local del host se asigna (mediante la CNI de la VPC) a la dirección IPv4 principal del ENI principal del nodo de trabajo.
-
Pods y servicios: los pods y servicios reciben solo direcciones
IPv6, no direccionesIPv4. Cuando los pods necesitan comunicarse con puntos de conexiónIPv4externos, utilizan la NAT en el propio nodo. Esta función NAT integrada elimina la necesidad de DNS64 y NAT64. Para el tráfico que requiere acceso a Internet público, el tráfico del pod se convierte mediante la dirección de red de origen a una dirección IP pública. -
Direcciones de enrutamiento: cuando un pod se comunica fuera de la VPC, se conserva su dirección
IPv6original (no se traduce a la direcciónIPv6del nodo). Este tráfico se enruta directamente a través de una puerta de enlace de Internet o una puerta de enlace de Internet de solo salida. -
Nodos: a todos los nodos se les asignan una dirección
IPv4eIPv6. -
Pods de Fargate: cada pod de Fargate recibe una dirección
IPv6de CIDR que se especifica para la subred en la que se implementa. La unidad de hardware subyacente que ejecuta pods de Fargate obtiene una direcciónIPv4eIPv6única de los CIDR asignados a la subred en la que se implementa la unidad de hardware.
Cómo utilizar IPv6 con EKS
-
Crear un nuevo clúster: debe crear un nuevo clúster y especificar que desea utilizar la familia
IPv6para ese clúster. No puede habilitar la familiaIPv6para un clúster que haya actualizado desde una versión anterior. Para obtener instrucciones sobre cómo crear un clúster nuevo, consulte Consideraciones. -
Utilice la CNI de VPC reciente: implemente la versión
1.10.1de la CNI de Amazon VPC o posterior. Esta versión o una posterior se implementa de forma predeterminada. Una vez que implemente el complemento, no podrá revertir la versión del complemento CNI de Amazon VPC a una versión inferior a1.10.1sin eliminar primero todos los nodos de todos los grupos de nodos del clúster. -
Configurar CNI de la VPC para
IPv6: si utiliza nodos de Amazon EC2, debe configurar el complemento CNI de Amazon VPC con la delegación de prefijos IP eIPv6. Si elige la familiaIPv6cuando cree el clúster, la versión1.10.1del complemento tendrá esta configuración como predeterminada. Este es el caso de un complemento autoadministrado o de Amazon EKS. Para obtener más información acerca de la delegación de prefijos IP, consulte Asignación de más direcciones IP a los nodos de Amazon EKS con prefijos. -
Configurar las direcciones
IPv4eIPv6: cuando crea un clúster, la VPC y las subredes que especifique deben tener un bloque de CIDRIPv6asignado a la VPC y las subredes que especifica. También deben tener un bloque de CIDRIPv4asignado. Esto se debe a que, incluso si solo desea utilizarIPv6, una VPC necesita un bloque de CIDRIPv4para funcionar. Para obtener más información, consulte Asociar un bloque de CIDR IPv6 a su VPC en la Guía del usuario de Amazon VPC. -
Asignar de forma automática direcciones IPv6 a nodos: cuando crea los nodos, debe especificar subredes que estén configuradas para asignar direcciones
IPv6de forma automática. De lo contrario, no podrá implementar los nodos. Esta configuración está desactivada de forma predeterminada. Para obtener más información, consulte Modificar el atributo de direccionamiento IPv6 de su subred en la Guía del usuario de Amazon VPC. -
Establecer las tablas de enrutamiento para que utilicen
IPv6: las tablas de enrutamiento que se asignen a las subredes deben tener rutas para direccionesIPv6. Para obtener más información, consulte Migración a IPv6 en la Guía del usuario de Amazon VPC. -
Establecer grupos de seguridad para
IPv6: sus grupos de seguridad deben permitir direccionesIPv6. Para obtener más información, consulte Migración a IPv6 en la Guía del usuario de Amazon VPC. -
Configure el equilibrador de carga: utilice la versión
2.3.1o posterior del Controlador del equilibrador de carga de AWS para equilibrar la carga de las aplicaciones HTTP mediante el Redirección de tráfico de aplicaciones y HTTP con los equilibradores de carga de aplicaciones o el tráfico de red mediante el Dirija el tráfico de TCP y UDP con equilibradores de carga de red a podsIPv6a través de ambos equilibradores de carga en el modo IP, pero no en el modo de instancia. Para obtener más información, consulte Enrutamiento del tráfico de internet con el controlador del equilibrador de carga de AWS. -
Añadir política de IAM de
IPv6: debe adjuntar una política de IAM deIPv6al IAM de su rol de IAM de CNI o nodo de IAM. Entre los dos, le recomendamos que lo adjunte a un rol de IAM de CNI. Para obtener más información, consulte Cree una política de IAM para clústeres que utilizan la familia IPv6 y Paso 1: creación del rol de IAM del complemento CNI de Amazon VPC para Kubernetes. -
Evaluar todos los componentes: realice una evaluación exhaustiva de las aplicaciones, los complementos de Amazon EKS y los servicios de AWS con los que se integra antes de implementar clústeres
IPv6. Esto es para garantizar que todo funcione según lo esperado conIPv6. -
Añadir
BootstrapArgumentsa grupos de nodos autoadministrados: al crear un grupo de nodos autoadministrados en un clúster que utiliza la familiaIPv6, los datos del usuario deben incluir los siguientesBootstrapArgumentspara el archivo bootstrap.shque se ejecuta al iniciar el nodo. Reemplace your-cidrpor el rango de CIDRIPv6de la VPC del clúster.--ip-family ipv6 --service-ipv6-cidr your-cidrSi no sabe cuál es el rango
CIDRIPv6de su clúster, puede verlo con el siguiente comando (requiere el AWS versión2.4.9o posterior).aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text