

 **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.

# Introducción a Amazon EKS: `eksctl`
<a name="getting-started-eksctl"></a>

**nota**  
En este tema se explica cómo comenzar **sin** el modo automático de EKS.  
El modo automático de EKS automatiza las tareas rutinarias de computación en clústeres, almacenamiento y redes. [Descubra cómo comenzar a utilizar el modo automático de Amazon EKS. ](getting-started-automode.md) 

Esta guía lo ayuda a crear todos los recursos necesarios a fin de comenzar a utilizar Amazon Elastic Kubernetes Service (Amazon EKS) mediante `eksctl`, una utilidad de línea de comandos sencilla para crear y administrar clústeres de Kubernetes en Amazon EKS. Al final de este tutorial, contará con un clúster de Amazon EKS en ejecución en el que puede implementar aplicaciones.

Los procedimientos de esta guía crean varios recursos de forma automática que debe establecer manualmente al crear el clúster mediante la Consola de administración de AWS. Si prefiere crear la mayoría de los recursos de forma manual y comprender mejor cómo interactúan entre sí, utilice la Consola de administración de AWS para crear el clúster y la informática. Para obtener más información, consulte [Introducción a Amazon EKS: Consola de administración de AWS y AWS CLI](getting-started-console.md).

## Requisitos previos
<a name="eksctl-prereqs"></a>

Antes de comenzar este tutorial, debe instalar y configurar las herramientas de la AWS CLI, kubectl y eksctl tal y como se describe en [Configuración para usar Amazon EKS](setting-up.md).

## Paso 1: creación del clúster y de los nodos de Amazon EKS
<a name="create-cluster-gs-eksctl"></a>

**importante**  
Para comenzar de la manera más sencilla y rápida posible, este tema incluye pasos a fin de crear un clúster y nodos con la configuración predeterminada. Antes de crear un clúster y nodos para su uso en producción, recomendamos que conozca toda la configuración e implemente un clúster y nodos con la configuración que satisfaga sus requisitos. Para obtener más información, consulte [Creación de un clúster de Amazon EKS](create-cluster.md) y [Administración de los recursos de computación mediante nodos](eks-compute.md). Algunos ajustes de configuración solo se pueden habilitar al crear el clúster y los nodos.

Puede crear un clúster con uno de los siguientes tipos de nodos. Para obtener más información sobre cada tipo, consulte [Administración de los recursos de computación mediante nodos](eks-compute.md). Después de implementar el clúster, puede agregar otros tipos de nodos.
+  **Fargate – Linux**: seleccione este tipo de nodo si desea ejecutar aplicaciones de Linux en [Simplificación de la administración de computación con AWS Fargate](fargate.md). Fargate es un motor de computación sin servidor que le permite implementar pods de Kubernetes sin administrar instancias de Amazon EC2.
+  **Nodos administrados – Linux**: seleccione este tipo de nodo si desea ejecutar aplicaciones de Amazon Linux en instancias de Amazon EC2. Aunque no se trata en esta guía, también puede agregar nodos [Autoadministrados de Windows](launch-windows-workers.md) y [Bottlerocket](launch-node-bottlerocket.md) a su clúster.

Cree su clúster de Amazon EKS con el comando siguiente. Puede reemplazar *my-cluster* con su propio valor. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfanumérico y no puede tener más de 100 caracteres. El nombre debe ser único dentro de la región de AWS y la cuenta de AWS en las que va a crear el clúster. Reemplace *region-code* por cualquier región de AWS en la que se admita Amazon EKS. Para ver una lista de las regiones de AWS, consulte [Puntos de conexión y cuotas de Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) en la Guía de referencia general de AWS.

**Example**  

```
eksctl create cluster --name my-cluster --region region-code --fargate
```

```
eksctl create cluster --name my-cluster --region region-code
```

La creación del clúster tarda varios minutos. Durante la creación, verá varias líneas de salida. La última línea de salida es similar a la siguiente línea de ejemplo.

```
[...]
[✓]  EKS cluster "my-cluster" in "region-code" region is ready
```

 `eksctl` creó un archivo de configuración `kubectl` en `~/.kube/config` o agregó la configuración del clúster nuevo dentro de un archivo de configuración en `~/.kube/config` en su equipo.

Después de que se complete la creación del clúster, consulte la pila de AWS CloudFormation denominada `eksctl-my-cluster-cluster` en la [consola](https://console.aws.amazon.com/cloudformation/) de AWS CloudFormation para ver todos los recursos que se crearon.

## Paso 2: ver los recursos de Kubernetes
<a name="gs-eksctl-view-resources"></a>

1. Visualización de los nodos del clúster.

   ```
   kubectl get nodes -o wide
   ```

   Un ejemplo de salida sería el siguiente.  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAME                                                STATUS   ROLES    AGE     VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   fargate-ip-192-0-2-0.region-code.compute.internal   Ready    <none>   8m3s    v1.2.3-eks-1234567   192.0.2.0     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   fargate-ip-192-0-2-1.region-code.compute.internal   Ready    <none>   7m30s   v1.2.3-eks-1234567   192-0-2-1     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAME                                        STATUS   ROLES    AGE    VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   ip-192-0-2-0.region-code.compute.internal   Ready    <none>   6m7s   v1.2.3-eks-1234567   192.0.2.0     192.0.2.2     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ip-192-0-2-1.region-code.compute.internal   Ready    <none>   6m4s   v1.2.3-eks-1234567   192.0.2.1     192.0.2.3     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------

   Para obtener más información acerca de lo que ve en la salida, consulte [Visualización de los recursos de Kubernetes en la Consola de administración de AWS](view-kubernetes-resources.md).

1. Visualización de las cargas de trabajo que se ejecutan en el clúster.

   ```
   kubectl get pods -A -o wide
   ```

   Un ejemplo de salida sería el siguiente.  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE   IP          NODE                                                NOMINATED NODE   READINESS GATES
   kube-system   coredns-1234567890-abcde   1/1     Running   0          18m   192.0.2.0   fargate-ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          18m   192.0.2.1   fargate-ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                                        NOMINATED NODE   READINESS GATES
   kube-system   aws-node-12345             1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   kube-system   aws-node-67890             1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-abcde   1/1     Running   0          14m     192.0.2.3   ip-192-0-2-3.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          14m     192.0.2.4   ip-192-0-2-4.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-12345           1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-67890           1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------

   Para obtener más información acerca de lo que ve en la salida, consulte [Visualización de los recursos de Kubernetes en la Consola de administración de AWS](view-kubernetes-resources.md).

## Paso 3: eliminación de sus clústeres y nodos
<a name="gs-eksctl-clean-up"></a>

Cuando haya terminado con el clúster y los nodos que creó para este tutorial, deberá eliminarlos con el siguiente comando. Si quiere hacer más con este clúster antes de eliminarlo, consulte [Pasos a seguir a continuación](#gs-eksctl-next-steps).

```
eksctl delete cluster --name my-cluster --region region-code
```

## Pasos a seguir a continuación
<a name="gs-eksctl-next-steps"></a>

Los siguientes temas de documentación lo ayudarán a ampliar la funcionalidad de su clúster.
+ Implemente una [aplicación de muestra](sample-deployment.md) en su clúster.
+ La [entidad principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que creó el clúster es la única entidad principal que puede hacer llamadas al servidor de API de Kubernetes con `kubectl` o la Consola de administración de AWS. Si desea que otras entidades principales de IAM tengan acceso al clúster, debe agregarlas. Para obtener más información, consulte [Concesión a los usuarios y roles de IAM de acceso a las API de Kubernetes](grant-k8s-access.md) y [Permisos necesarios](view-kubernetes-resources.md#view-kubernetes-resources-permissions).
+ Antes de implementar un clúster para su uso en producción, le recomendamos que se familiarice con toda la configuración de [clústeres](create-cluster.md) y [nodos](eks-compute.md). Algunos ajustes (como habilitar el acceso SSH a los nodos de Amazon EC2) deben establecerse cuando se crea el clúster.
+ Para aumentar la seguridad del clúster, [configure el complemento de interfaz de red de contenedores de Amazon VPC a fin de utilizar roles de IAM para cuentas de servicio](cni-iam-role.md).