Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Nodos híbridos EKS
Introducción
AWS EKS presenta los nodos híbridos, una nueva característica que le permite ejecutar aplicaciones locales y periféricas en una infraestructura administrada por el cliente con los mismos clústeres, características y herramientas de AWS EKS que utiliza en la nube de AWS. AWS EKS Hybird Nodes ofrece una experiencia de Kubernetes administrada por AWS a los entornos locales para que los clientes simplifiquen y estandaricen la forma de ejecutar las aplicaciones en entornos locales, periféricos y en la nube. Obtenga más información en EKS Hybrid Nodes.
Para facilitar la compatibilidad con esta función, eksctl presenta un nuevo campo de nivel superior llamado. remoteNetworkConfig Cualquier configuración relacionada con los nodos híbridos se configurará a través de este campo, como parte del archivo de configuración; no hay indicadores de CLI equivalentes. Además, en el momento del lanzamiento, cualquier configuración de red remota solo se puede configurar durante la creación del clúster y no se puede actualizar posteriormente. Esto significa que no podrás actualizar los clústeres existentes para usar nodos híbridos.
La remoteNetworkConfig sección del archivo de configuración le permite configurar las dos áreas principales a la hora de unir nodos remotos a sus clústeres de EKS: redes y credenciales.
Red
Los nodos híbridos de EKS se adaptan al método que prefiera para conectar sus redes locales a una VPC de AWS. Hay varias opciones documentadas disponibles, incluidas AWS Site-to-Site VPN y AWS Direct Connect, y puede elegir el método que mejor se adapte a su caso de uso. En la mayoría de los métodos que puede elegir, la VPC se conectará a una puerta de enlace privada virtual (VGW) o a una puerta de enlace de tránsito (TGW). Si confía en eksctl para crear una VPC para usted, eksctl también configurará, dentro del alcance de su VPC, cualquier requisito previo relacionado con la red para facilitar la comunicación entre su plano de control de EKS y los nodos remotos, es decir,
-
reglas SG de entrada/salida
-
rutas en las tablas de rutas de las subredes privadas
-
el adjunto de la puerta de enlace de VPC a la TGW o VGW dada
Ejemplo de archivo de configuración:
remoteNetworkConfig: vpcGatewayID: tgw-xxxx # either VGW or TGW to be attached to your VPC remoteNodeNetworks: # eksctl will create, behind the scenes, SG rules, routes, and a VPC gateway attachment, # to facilitate communication between remote network(s) and EKS control plane, via the attached gateway - cidrs: ["10.80.146.0/24"] remotePodNetworks: - cidrs: ["10.86.30.0/23"]
Si el método de conectividad que ha elegido no implica el uso de un TGW o VGW, no debe confiar en eksctl para crear la VPC por usted, sino que debe proporcionar una ya existente. Por otro lado, si está utilizando una VPC preexistente, eksctl no la modificará y es su responsabilidad garantizar que se cumplan todos los requisitos de red.
nota
eksctl no configura ninguna infraestructura de red fuera de su VPC de AWS (es decir, ninguna infraestructura desde VGW/TGW las redes remotas)
Credenciales
Los nodos híbridos de EKS utilizan el AWS IAM Authenticator y las credenciales de IAM temporales proporcionadas por AWS SSM o AWS IAM Roles Anywhere para autenticarse en el clúster de EKS. De forma similar a los grupos de nodos autogestionados, si no se indica lo contrario, eksctl creará para usted un rol de IAM de nodos híbridos que asumirán los nodos remotos. Además, si utiliza IAM Roles Anywhere como proveedor de credenciales, eksctl configurará un perfil y un anclaje de confianza en función de un paquete de entidades de certificación determinado (p. ej. iam.caBundleCert
remoteNetworkConfig: iam: # the provider for temporary IAM credentials. Default is SSM. provider: IRA # the certificate authority bundle that serves as the root of trust, # used to validate the X.509 certificates provided by your nodes. # can only be set when provider is IAMRolesAnywhere. caBundleCert: xxxx
El ARN del rol de nodos híbridos creado por eksctl se necesitará más adelante en el proceso de unir los nodos remotos al clústernodeadm, NodeConfig para configurar y crear activaciones (si se usa SSM). Para buscarlo, usa:
aws cloudformation describe-stacks \ --stack-name eksctl-<CLUSTER_NAME>-cluster \ --query 'Stacks[].Outputs[?OutputKey==`RemoteNodesRoleARN`].[OutputValue]' \ --output text
Del mismo modo, si utiliza IAM Roles Anywhere, puede obtener el ARN del trust anchor y del perfil anywhere creados por eksctl, modificando el comando anterior sustituyéndolo por o, respectivamente. RemoteNodesRoleARN RemoteNodesTrustAnchorARN RemoteNodesAnywhereProfileARN
Si ya dispone de una configuración de IAM Roles Anywhere o utiliza SSM, puede proporcionar una función de IAM para los nodos híbridos mediante. remoteNetworkConfig.iam.roleARN Ten en cuenta que, en este caso, eksctl no te creará el perfil Trust Anchor and Anywhere, p. ej.
remoteNetworkConfig: iam: roleARN: arn:aws:iam::000011112222:role/HybridNodesRole
Para asignar la función a una identidad de Kubernetes y autorizar a los nodos remotos a unirse al clúster de EKS, eksctl crea una entrada de acceso con la función de IAM de nodos híbridos como ARN principal y de tipo, p. ej. HYBRID_LINUX
eksctl get accessentry --cluster my-cluster --principal-arn arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO --output json [ { "principalARN": "arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO", "kubernetesGroups": [ "system:nodes" ] } ]
Compatibilidad con complementos
Interfaz de redes de contenedores (CNI): la CNI de VPC de AWS no se puede usar con nodos híbridos. Las capacidades principales de Cilium y Calico se admiten para su uso con nodos híbridos. Puede administrar el CNI con las herramientas que prefiera, como Helm. Para obtener más información, consulte Configurar una CNI para nodos híbridos.
nota
Si instalas la VPC CNI en tu clúster para los grupos de nodos autogestionados o gestionados por EKS, tendrás que utilizar v1.19.0-eksbuild.1 o una versión posterior, ya que incluye una actualización del daemonset del complemento para impedir que se instale en los nodos híbridos.