Introducción a Amazon EKS: eksctl - Amazon EKS

Introducción a Amazon EKS: eksctl

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 AWS Management Console. Si prefiere crear la mayoría de los recursos de forma manual y comprender mejor cómo interactúan entre sí, utilice la AWS Management Console para crear el clúster y la informática. Para obtener más información, consulte Introducción a Amazon EKS: AWS Management Console y AWS CLI .

Requisitos previos

Antes de comenzar este tutorial, debe instalar y configurar las siguientes herramientas y recursos que necesitará para crear y administrar un clúster de Amazon EKS.

  • kubectl: una herramienta de línea de comandos para trabajar con clústeres de Kubernetes. Esta guía requiere que utilice la versión 1.23 o una posterior. Para obtener más información, consulte Instalación o actualización del kubectl .

  • eksctl: una herramienta de línea de comandos para trabajar con clústeres de EKS que automatiza varias tareas individuales. Esta guía requiere que utilice la versión 0.117.0 o una posterior. Para obtener más información, consulte Instalación o actualización del eksctl .

  • Permisos de IAM necesarios: la entidad principal de seguridad de IAM que está utilizando debe contar con permisos para trabajar con los roles de IAM de Amazon EKS y los roles vinculados al servicio, AWS CloudFormation, y una VPC y recursos relacionados. Para obtener más información, consulte Acciones, recursos y claves de condición de Amazon Elastic Container Service for Kubernetes y Uso de roles vinculados a servicios en la guía del usuario de IAM. Debe completar todos los pasos de esta guía como el mismo usuario.

Paso 1: crear el clúster y los nodos de Amazon EKS

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 y Nodos de Amazon EKS. 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 Nodos de Amazon EKS. 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 AWS Fargate. 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 y nodos Bottlerocket a su clúster.

Cree su clúster de Amazon EKS con el comando siguiente. Puede reemplazar my-cluster por un valor propio. 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 alfabético y no puede tener más de 100 caracteres. Reemplace region-code por cualquier Región de AWS en la que se admita Amazon EKS. Para ver una lista de Regiones de AWS, consulte Puntos de conexión y cuotas de Amazon EKS en la Guía de referencia general de AWS.

Fargate – Linux
eksctl create cluster --name my-cluster --region region-code --fargate
Managed nodes – Linux
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 config de kubectl en ~/.kube o agregó la configuración del clúster nuevo dentro de un archivo existente de config en ~/.kube en su computadora.

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 de AWS CloudFormation en https://console.aws.amazon.com/cloudformation para ver todos los recursos que se crearon.

Paso 2: vea recursos de Kubernetes

  1. Vea los nodos del clúster.

    kubectl get nodes -o wide

    A continuación, se muestra un ejemplo de resultado.

    Fargate – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-141-147.region-code.compute.internal Ready <none> 8m3s v1.23.7-eks-7c9bda 192.168.141.147 <none> Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 containerd://1.3.2 fargate-ip-192-168-164-53.region-code.compute.internal Ready <none> 7m30s v1.23.7-eks-7c9bda 192.168.164.53 <none> Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 containerd://1.3.2
    Managed nodes – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49.region-code.compute.internal Ready <none> 6m7s v1.23.7-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 docker://20.10.7 ip-192-168-72-129.region-code.compute.internal Ready <none> 6m4s v1.23.7-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 5.4.156-83.273.amzn2.x86_64 docker://20.10.7

    Para obtener más información acerca de lo que ve en la salida, consulte Vea los recursos de Kubernetes.

  2. Vea las cargas de trabajo que se ejecutan en el clúster.

    kubectl get pods -A -o wide

    A continuación, se muestra un ejemplo de resultado.

    Fargate – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-69dfb8f894-9z95l 1/1 Running 0 18m 192.168.164.53 fargate-ip-192-168-164-53.region-code.compute.internal <none> <none> kube-system coredns-69dfb8f894-c8v66 1/1 Running 0 18m 192.168.141.147 fargate-ip-192-168-141-147.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-6ctpm 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.region-code.compute.internal <none> <none> kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.region-code.compute.internal <none> <none> kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.region-code.compute.internal <none> <none> kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.region-code.compute.internal <none> <none>

    Para obtener más información acerca de lo que ve en la salida, consulte Vea los recursos de Kubernetes.

Paso 3: eliminar sus clústeres y nodos

Cuando haya terminado con el clúster y los nodos que creó para este tutorial, deberá eliminarlos con el comando siguiente. Si quiere hacer más con este clúster antes de eliminarlo, consulte Pasos siguientes.

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

Pasos siguientes

Los temas de documentación siguientes le ayudarán a ampliar la funcionalidad de su clúster.