

 **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 una carga de trabajo de expansión de muestra en un clúster del modo automático de Amazon EKS
<a name="automode-workload"></a>

En este tutorial, aprenderá a implementar una carga de trabajo de muestra en un clúster del modo automático de EKS y observará cómo se aprovisionan automáticamente los recursos de computación necesarios. Utilizará comandos `kubectl` para observar el comportamiento del clúster y comprobar de primera mano la forma en que el modo automático simplifica las operaciones de Kubernetes en AWS. Al final de este tutorial, comprenderá la forma en que el modo automático de EKS responde a las implementaciones de cargas de trabajo mediante la administración automática de los recursos de computación subyacentes, sin necesidad de configurar manualmente los grupos de nodos.

## Requisitos previos
<a name="_prerequisites"></a>
+ Un clúster del modo automático de Amazon EKS. Anote el nombre y la región de AWS del clúster.
+ Una entidad principal de IAM, como un usuario o rol, con permisos suficientes para administrar recursos de red, computación y EKS.
  + Para obtener más información, consulte [Cómo crear roles y asociar políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html) en la Guía del usuario de IAM.
+  `aws` CLI instalada y configurada con una identidad de IAM.
+  `kubectl` CLI instalada y conectada al clúster.
  + Para obtener más información, consulte [Configuración para usar Amazon EKS](setting-up.md).

## Paso 1: Revisión de los recursos de computación existentes (opcional)
<a name="_step_1_review_existing_compute_resources_optional"></a>

En primer lugar, utilice `kubectl` para enumerar los grupos de nodos en el clúster.

```
kubectl get nodepools
```

Resultado de ejemplo:

```
general-purpose
```

En este tutorial, implementaremos una carga de trabajo configurada para utilizar el grupo de nodos `general-purpose`. Este grupo de nodos está integrado en el modo automático de EKS e incluye valores predeterminados razonables para cargas de trabajo generales, como microservicios y aplicaciones web. Puede crear un grupo de nodos propio. Para obtener más información, consulte [Creación de un grupo de nodos para el modo automático de EKS](create-node-pool.md).

En segundo lugar, utilice `kubectl` para enumerar los nodos conectados al clúster.

```
kubectl get nodes
```

Si acaba de crear un clúster de modo automático de EKS, no tendrá nodos.

En este tutorial, implementará una carga de trabajo de ejemplo. Si no tiene nodos, o la carga de trabajo no cabe en los nodos existentes, el modo automático de EKS aprovisionará un nuevo nodo.

## Paso 2: Implementación de una aplicación de ejemplo en el clúster
<a name="_step_2_deploy_a_sample_application_to_the_cluster"></a>

Revise la siguiente implementación de Kubernetes y guárdela como `inflate.yaml` 

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: inflate
spec:
  replicas: 1
  selector:
    matchLabels:
      app: inflate
  template:
    metadata:
      labels:
        app: inflate
    spec:
      terminationGracePeriodSeconds: 0
      nodeSelector:
        eks.amazonaws.com/compute-type: auto
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      containers:
        - name: inflate
          image: public.ecr.aws/eks-distro/kubernetes/pause:3.7
          resources:
            requests:
              cpu: 1
          securityContext:
            allowPrivilegeEscalation: false
```

Tenga en cuenta que el selector `eks.amazonaws.com/compute-type: auto` requiere que la carga de trabajo se implemente en un nodo de modo automático de Amazon EKS.

Aplique la implementación al clúster.

```
kubectl apply -f inflate.yaml
```

## Paso 3: Visualización de los eventos de Kubernetes
<a name="_step_3_watch_kubernetes_events"></a>

Utilice el siguiente comando para ver los eventos de Kubernetes, incluida la creación de un nuevo nodo. Utilice `ctrl+c` para dejar de ver los eventos.

```
kubectl get events -w --sort-by '.lastTimestamp'
```

Utilice `kubectl` para enumerar los nodos conectados al clúster nuevamente. Tenga en cuenta el nodo recién creado.

```
kubectl get nodes
```

## Paso 4: Visualización de nodos e instancias en la consola de AWS
<a name="step_4_view_nodes_and_instances_in_the_shared_aws_console"></a>

Puede ver los nodos de modo automático de EKS en la consola de EKS, y las instancias de EC2 asociadas en la consola de EC2.

Las instancias de EC2 implementadas por el modo automático de EKS están restringidas. No se pueden ejecutar comandos arbitrarios en los nodos del modo automático de EKS.

## Paso 5: Eliminación de la implementación
<a name="_step_5_delete_the_deployment"></a>

Utilice `kubectl` para eliminar la implementación de muestra

```
kubectl delete -f inflate.yaml
```

Si no tiene otras cargas de trabajo implementadas en el clúster, el nodo creado por el modo automático de EKS estará vacío.

En la configuración predeterminada, el modo automático de EKS detecta los nodos que han estado vacíos durante treinta segundos y los termina.

Utilice `kubectl` o la consola de EC2 para confirmar que la instancia asociada se ha eliminado.