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.
Implementación de un clúster local de Amazon EKS en AWS Outposts configurados con el almacén de instancias de EC2
En este tema se proporcionan instrucciones para implementar un clúster de Amazon EKS local en un AWS Outpost configurado con un almacén de instancias de EC2.
nota
Si el Outpost está configurado con Amazon EBS en lugar del almacén de instancias de EC2, la arquitectura descrita en este tema no estará disponible para el Outpost. Los Outposts configurados con EBS continuarán utilizando la implementación de clústeres locales existente. Para obtener más información, consulte Implementación de un clúster de Amazon EKS en AWS Outposts.
Si le interesa crear un clúster local en un Outpost basado en EBS con la arquitectura de clústeres local actualizada, contacte con el equipo de cuentas de AWS.
importante
-
Los clústeres locales solo admiten bastidores de Outpost. Un único clúster local puede ejecutarse en varios bastidores de Outpost físicos que comprenden un único Outpost lógico. Un único clúster local no puede ejecutarse en varios Outposts lógicos.
-
El plano de control de Kubernetes se ejecuta en una cuenta de servicio administrada de AWS en el Outpost. No puede acceder a las instancias del plano de control, verlas en la consola de Amazon EC2 ni ejecutar cargas de trabajo en ellas.
-
El plano de control se ejecuta en 6 instancias de EC2 (3 de
etcd+ 3 del servidor de la API) en una topología de etcd externa. Para conocer los requisitos de capacidad, consulte Selección de los tipos de instancia y la ubicación de los clústeres locales de Amazon EKS en AWS Outposts configurados con el almacén de instancias de EC2. -
El complemento CNI de Amazon VPC para Kubernetes, kube-proxy y CoreDNS se instalan automáticamente en los clústeres locales. Para obtener la lista completa de complementos validados, consulte Complementos de Amazon EKS para clústeres locales en AWS Outposts configurados con el almacén de instancias de EC2.
-
Amazon EKS hace copias de seguridad periódicas de
etcd. Sietcdpierde cuórum, Amazon EKS recupera el estado del clúster a partir de la instantánea más reciente.
Requisitos previos
-
Un bastidor de Outpost existente configurado con un almacén de instancias de EC2, con suficiente capacidad virtualizada para las instancias del plano de control. Consulte Selección de los tipos de instancia y la ubicación de los clústeres locales de Amazon EKS en AWS Outposts configurados con el almacén de instancias de EC2.
-
Una VPC y subredes que cumplan con los requisitos descritos en Creación de una VPC y subredes para clústeres locales de Amazon EKS en AWS Outposts configurados con el almacén de instancias de EC2.
-
La herramienta de la línea de comandos de
kubectlestá instalada en su equipo o AWS CloudShell. La versión puede ser la misma que la versión de Kubernetes de su clúster o hasta una versión secundaria anterior o posterior. Para instalar o actualizarkubectl, consulte Configuración de kubectl y eksctl. -
La versión de la AWS CLI
2.35.3o posterior instalada y configurada en el dispositivo o AWS CloudShell. Para comprobar su versión actual, utiliceaws --version. Para instalarla o actualizarla, consulte Instalación de la AWS CLI. -
Una entidad principal de IAM (usuario o rol) con permisos para crear y describir un clúster de Amazon EKS. Para obtener más información, consulte Creación de un clúster local de Kubernetes en un Outpost y Enumeración o descripción de todos los clústeres.
-
Un rol de IAM para el clúster con las siguientes políticas administradas de AWS adjuntas: AmazonEKSClusterPolicy y AmazonEKSServicePolicy. La política de confianza del rol debe permitir a la entidad principal del servicio
eks.amazonaws.comasumir el rol.
nota
Al crear un clúster local, la entidad principal de IAM que crea el clúster se agrega de forma permanente a la tabla de autorización de RBAC de Kubernetes como administrador con permisos system:masters. Asegúrese de no eliminar nunca esta entidad principal.
Creación de un clúster local
Puede crear un clúster local mediante la Consola de administración de AWS, la AWS CLI, la API de Amazon EKS o AWS CloudFormation.
Al crear el clúster local, tenga en cuenta lo siguiente:
-
Debe pasar las subredes de la zona de disponibilidad en la que se encuentra el Outpost. La solicitud falla si pasa subredes en varias zonas de disponibilidad.
-
Debe establecer
endpointPrivateAccessentrue. También puede habilitarendpointPublicAccessopcionalmente. -
Debe pasar valores para
outpostConfig, incluidosoutpostArns,controlPlaneInstanceTypeyetcdInstanceType. Opcionalmente, puede especificar la configuración de ubicación. Consulte Selección de los tipos de instancia y la ubicación de los clústeres locales de Amazon EKS en AWS Outposts configurados con el almacén de instancias de EC2.
AWS CLI
aws eks create-cluster \ --name my-cluster \ --role-arn arn:aws:iam::111122223333:role/myEKSClusterRole \ --kubernetes-version 1.36 \ --resources-vpc-config subnetIds=subnet-ExampleID1,endpointPrivateAccess=true,endpointPublicAccess=true \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}' \ --access-config authenticationMode=API_AND_CONFIG_MAP,bootstrapClusterCreatorAdminPermissions=true \ --outpost-config outpostArns=arn:aws:outposts:region-code:111122223333:outpost/op-uniqueid,controlPlaneInstanceType=m5.large,controlPlanePlacement={spreadLevel=host},etcdInstanceType=m5.large,etcdPlacement={spreadLevel=host}
Consola de administración de AWS
-
Abra la consola de Amazon EKS
. -
Elija Create cluster.
-
En Ubicación del plano de control de Kubernetes, elija AWS Outposts.
-
Configura lo siguiente:
-
Nombre: nombre para el clúster.
-
Versión de Kubernetes: versión que se utilizará.
-
Rol de servicio del clúster: rol de IAM con AmazonEKSClusterPolicy y AmazonEKSServicePolicy.
-
ID de Outpost: Outpost lógico en el que se implementará.
-
Tipo de instancia del plano de control: el tipo de instancia del servidor de la API, el planificador y el administrador de controladores de Kubernetes.
-
Tipo de instancia de etcd: tipo de instancia de
etcd. -
Nivel de distribución:
hostorackpara la ubicación deetcdy el plano de control.
-
-
Configure la red: VPC, subredes y grupos de seguridad. Habilite el acceso a puntos de conexión privados.
-
Configure la observabilidad: registro del plano de control.
-
Revise y cree.
CreateClusterAPI
{ "name": "my-cluster", "roleArn": "arn:aws:iam::111122223333:role/myEKSClusterRole", "version": "1.36", "resourcesVpcConfig": { "subnetIds": ["subnet-ExampleID1"], "endpointPublicAccess": true, "endpointPrivateAccess": true }, "logging": { "clusterLogging": [{ "types": ["api", "audit", "authenticator", "controllerManager", "scheduler"], "enabled": true }] }, "accessConfig": { "authenticationMode": "API_AND_CONFIG_MAP", "bootstrapClusterCreatorAdminPermissions": true }, "outpostConfig": { "outpostArns": ["arn:aws:outposts:region-code:111122223333:outpost/op-uniqueid"], "controlPlaneInstanceType": "m5.large", "controlPlanePlacement": { "spreadLevel": "host" }, "etcdInstanceType": "m5.large", "etcdPlacement": { "spreadLevel": "host" } } }
Los parámetros controlPlaneInstanceType y etcdInstanceType son obligatorios cuando se crea un clúster local en Outposts configurado con el almacén de instancias de EC2. Los parámetros controlPlanePlacement y etcdPlacement son opcionales. Si no los especifica, no se aplicará ninguna estrategia de distribución por ubicación.
nota
outpostConfig es una propiedad de solo creación. Para cambiar el tipo de instancia del plano de control, el tipo de instancia de etcd, la ubicación o el Outpost, debe crear un clúster nuevo.
Conexión al clúster
Configure kubectl para comunicarse con el clúster:
aws eks update-kubeconfig --region region-code --name my-cluster
nota
Si creó el clúster con las versiones de la AWS CLI anteriores a 2.35.3, debe actualizar kubeconfig para especificar --cluster-name (en lugar de --cluster-id) en los argumentos exec
El punto de conexión del servidor de la API de Kubernetes del clúster se aloja en Amazon Route 53. El punto de conexión se resuelve en las direcciones IP privadas de las interfaces de red elásticas (ENI) entre cuentas que Amazon EKS crea en las subredes. Estas ENI tienen direcciones IP privadas fijas que no cambian a lo largo del ciclo de vida del clúster.
Al crear un clúster, Amazon EKS crea de 3 interfaces de red elásticas en las subredes que especifique. Estas interfaces de red permiten la comunicación entre el clúster y la VPC. Cada interfaz de red cuenta con el texto Amazon EKS en su descripción.cluster-name
Implementación de nodos de trabajo
Implemente nodos de trabajo en el clúster local mediante grupos de nodos autoadministrados.
-
Implemente la plantilla de AWS CloudFormation del nodo de trabajo o cree instancias de EC2 individuales en el Outpost.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2025-11-24/amazon-eks-outpost-nodegroup.yaml -
Conceda al rol de instancia del nodo acceso al clúster. Cree una entrada de acceso para el rol de IAM del nodo:
aws eks create-access-entry \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/myNodeRole \ --type EC2_LINUXComo alternativa, si utiliza el ConfigMap de
aws-authpara la autenticación, agregue el rol de instancia de nodo al ConfigMap. Consulte Concesión a los usuarios y roles de IAM de acceso a las API de Kubernetes. -
Compruebe que el estado de los nodos sea
Ready:kubectl get nodes
Recursos internos
Al crear un clúster local, Amazon EKS instala automáticamente las versiones autoadministradas de los siguientes complementos en el espacio de nombres kube-system: coredns, kube-proxy y aws-node (CNI de VPC). Opcionalmente, puede instalar las versiones administradas de estos complementos a través de la API de complementos de Amazon EKS. Para obtener más información, consulte Complementos de Amazon EKS para clústeres locales en AWS Outposts configurados con el almacén de instancias de EC2.
Amazon EKS también crea interfaces de red elásticas (ENI) entre cuentas en las subredes para la comunicación entre clústeres y VPC. No elimine estas interfaces de red. Si se elimina una ENI multicuenta o cambia la dirección IP, todos los nodos y administradores que utilicen un acceso estático basado en IP deben actualizarse manualmente.