Introducción a Amazon EKS: eksctl - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

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 herramientas de la AWS CLI, kubectl y eksctl tal y como se describe en Configuración para usar Amazon EKS.

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 Crear 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 siguiente comando. 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 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 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

    Un ejemplo de salida sería el siguiente.

    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 Vea los recursos de Kubernetes.

  2. Vea 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.

    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 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 siguiente comando. Si quiere hacer más con este clúster antes de eliminarlo, consulte Siguientes pasos.

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

Siguientes pasos

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