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
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
-
Un clúster del modo automático de Amazon EKS con la capacidad de computación habilitada. 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 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.
-
Paso 1: Revisión de los recursos de computación existentes (opcional)
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.
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
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
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
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
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.