

 **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
<a name="eks-outposts-instance-store-local-cluster-create"></a>

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](eks-outposts-local-cluster-create.md).  
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](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology). 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](eks-outposts-instance-store-capacity-considerations.md).
El [complemento CNI de Amazon VPC para Kubernetes](managing-vpc-cni.md), [kube-proxy](managing-kube-proxy.md) y [CoreDNS](managing-coredns.md) 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](eks-outposts-instance-store-local-cluster-addons.md).
Amazon EKS hace copias de seguridad periódicas de `etcd`. Si `etcd` pierde 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](eks-outposts-instance-store-capacity-considerations.md).
+ 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](eks-outposts-instance-store-vpc-subnet-requirements.md).
+ La herramienta de la línea de comandos de `kubectl` está 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 actualizar `kubectl`, consulte [Configuración de `kubectl` y `eksctl`](install-kubectl.md).
+ La versión de la AWS CLI `2.35.3` o posterior instalada y configurada en el dispositivo o AWS CloudShell. Para comprobar su versión actual, utilice `aws --version`. Para instalarla o actualizarla, consulte [Instalación de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ 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](security-iam-id-based-policy-examples.md#policy-create-local-cluster) y [Enumeración o descripción de todos los clústeres](security-iam-id-based-policy-examples.md#policy-example2).
+ Un rol de IAM para el clúster con las siguientes políticas administradas de AWS adjuntas: [AmazonEKSClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) y [AmazonEKSServicePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html). La política de confianza del rol debe permitir a la entidad principal del servicio `eks.amazonaws.com` asumir el rol.

**nota**  
Al crear un clúster local, la [entidad principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) 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
<a name="eks-outposts-instance-store-local-cluster-create-cluster"></a>

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 `endpointPrivateAccess` en `true`. También puede habilitar `endpointPublicAccess` opcionalmente.
+ Debe pasar valores para `outpostConfig`, incluidos `outpostArns`, `controlPlaneInstanceType` y `etcdInstanceType`. 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](eks-outposts-instance-store-capacity-considerations.md).

### AWS CLI
<a name="awscli_is_create_cluster_outpost"></a>

```
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
<a name="console_is_create_cluster_outpost"></a>

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Elija **Create cluster**.

1. En **Ubicación del plano de control de Kubernetes**, elija **AWS Outposts**.

1. 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](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) y [AmazonEKSServicePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html).
   +  **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:** `host` o `rack` para la ubicación de `etcd` y el plano de control.

1. Configure la red: VPC, subredes y grupos de seguridad. Habilite el acceso a puntos de conexión privados.

1. Configure la observabilidad: registro del plano de control.

1. Revise y cree.

### `CreateCluster`API
<a name="api_is_create_cluster_outpost"></a>

```
{
    "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
<a name="eks-outposts-instance-store-local-cluster-create-connect"></a>

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 {{cluster-name}} ` en su descripción.

## Implementación de nodos de trabajo
<a name="eks-outposts-instance-store-local-cluster-create-nodes"></a>

Implemente nodos de trabajo en el clúster local mediante [grupos de nodos autoadministrados](launch-workers.md).

1. 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
   ```

1. Conceda al rol de instancia del nodo acceso al clúster. Cree una [entrada de acceso](access-entries.md) 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_LINUX
   ```

   Como alternativa, si utiliza el ConfigMap de `aws-auth` para 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](grant-k8s-access.md).

1. Compruebe que el estado de los nodos sea `Ready`:

   ```
   kubectl get nodes
   ```

## Recursos internos
<a name="eks-outposts-instance-store-local-cluster-create-internal-resources"></a>

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](eks-outposts-instance-store-local-cluster-addons.md).

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.