Plano de control y nodos de trabajo de EKS
Comprenda qué gestiona AWS en el plano de control de EKS, aprovisione grupos de nodos administrados y conecte kubectl a su clúster
Plano de control y nodos de trabajo de EKS es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué es Amazon EKS?
Amazon Elastic Kubernetes Service (EKS) es un servicio de Kubernetes completamente administrado que elimina la carga de instalar, operar y mantener el plano de control de Kubernetes. AWS ejecuta, escala y actualiza el plano de control en varias zonas de disponibilidad, proporcionando un endpoint de clúster de alta disponibilidad. Usted se centra por completo en desplegar y gestionar las cargas de trabajo de su aplicación.
El plano de control de EKS
El EKS control plane consta del servidor de API, etcd, el controlador y el planificador, todos gestionados por AWS. Estos componentes se ejecutan en cuentas propiedad de AWS, por lo que nunca tendrá que conectarse a ellos mediante SSH. AWS garantiza un 99.95% SLA para el endpoint de la API de EKS y reemplaza automáticamente los nodos no saludables del plano de control. Por el plano de control se paga una tarifa fija por clúster y por hora.
Crear un clúster de EKS
Puede crear un clúster de EKS mediante la consola de AWS, eksctl o CloudFormation. El clúster requiere una VPC with subnets across at least two AZs y un rol de IAM que conceda al plano de control de Kubernetes permiso para llamar a las API de AWS. Una vez creado, el endpoint del clúster es una URL HTTPS que se configura en su kubeconfig.
# Create a cluster with eksctl (recommended for getting started)
eksctl create cluster \
--name my-cluster \
--region us-east-1 \
--version 1.29 \
--nodegroup-name standard-nodes \
--node-type m5.large \
--nodes 3 \
--nodes-min 1 \
--nodes-max 5Conectar kubectl a EKS
Después de crear el clúster, actualice su kubeconfig local para que kubectl sepa cómo llegar al servidor de API de EKS. La AWS CLI genera automáticamente la entrada necesaria. El servidor de API de EKS utiliza AWS IAM for authentication: su usuario o rol de IAM se asigna a una identidad RBAC de Kubernetes mediante el ConfigMap aws-auth.
# Update kubeconfig for your EKS cluster
aws eks update-kubeconfig \
--region us-east-1 \
--name my-cluster
# Verify connectivity
kubectl get nodes
kubectl get pods --all-namespacesGrupos de nodos administrados
Los managed node groups permiten que AWS aprovisione, registre y gestione el ciclo de vida de los nodos de trabajo EC2 en su nombre. Cuando solicita una actualización o sustitución, EKS drena automáticamente los pods, sustituye la instancia y vuelve a registrarla, todo ello sin intervención manual. Los grupos de nodos administrados utilizan Auto Scaling Groups internamente, lo que proporciona control sobre la capacidad mínima, máxima y deseada, además de integración con Cluster Autoscaler.
# Add a managed node group to an existing cluster
eksctl create nodegroup \
--cluster my-cluster \
--region us-east-1 \
--name high-mem-nodes \
--node-type r6i.large \
--nodes 2 \
--nodes-min 1 \
--nodes-max 10 \
--managedGrupos de nodos autoadministrados
Con los self-managed node groups, usted lanza las instancias EC2 directamente (mediante CloudFormation o Terraform) y las registra en el clúster de EKS ejecutando el script de arranque. Esto proporciona la máxima flexibilidad: puede utilizar custom AMIs, tipos de instancia con GPU o configuraciones del kernel muy personalizadas, pero será plenamente responsable de aplicar parches, drenar y sustituir los nodos.
# Bootstrap script baked into the launch template
/etc/eks/bootstrap.sh my-cluster \
--apiserver-endpoint 'https://EXAMPLE.gr7.us-east-1.eks.amazonaws.com' \
--b64-cluster-ca 'BASE64_ENCODED_CA' \
--kubelet-extra-args '--node-labels=role=custom'Rol de IAM y perfil de instancia del nodo
Cada nodo de trabajo debe ejecutarse con un EC2 instance profile que tenga tres políticas administradas por AWS: AmazonEKSWorkerNodePolicy, AmazonEKS_CNI_Policy y AmazonEC2ContainerRegistryReadOnly. Estas políticas permiten al nodo unirse al clúster, gestionar las redes de los pods con el plugin VPC CNI y extraer imágenes de ECR. Sin ellas, los nodos no podrán registrarse.
# Attach required policies to the node role
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnlyConfigMap aws-auth: asignación de IAM a RBAC
EKS utiliza el aws-auth ConfigMap en el espacio de nombres kube-system para asignar usuarios y roles de IAM a nombres de usuario y grupos de Kubernetes. Al crear un clúster, solo la identidad de IAM de quien lo creó recibe automáticamente acceso de administrador. Para permitir que otros usuarios o roles de CI/CD accedan al clúster, debe añadir entradas a este ConfigMap con las claves mapRoles o mapUsers correctas.
# View and edit the aws-auth ConfigMap
kubectl describe configmap aws-auth -n kube-system
# Add a role mapping (example YAML fragment)
# mapRoles:
# - rolearn: arn:aws:iam::111122223333:role/EKSNodeRole
# username: system:node:{{EC2PrivateDNSName}}
# groups:
# - system:bootstrappers
# - system:nodesComplementos y actualizaciones de clúster de EKS
Los EKS add-ons son componentes de software seleccionados y validados por AWS, como VPC CNI, CoreDNS y kube-proxy, que EKS puede instalar y mantener actualizados en su nombre. Cuando actualice la versión de Kubernetes del clúster, actualice primero el plano de control y, después, cada grupo de nodos administrado a la versión correspondiente. EKS admite una diferencia de versión secundaria de N-1 entre el plano de control y los nodos durante la ventana de despliegue.
# List available add-ons and their versions
aws eks describe-addon-versions \
--kubernetes-version 1.29 \
--query 'addons[].{Name:addonName,Versions:addonVersions[0].addonVersion}' \
--output table
# Update the VPC CNI add-on
aws eks update-addon \
--cluster-name my-cluster \
--addon-name vpc-cni \
--addon-version v1.16.0-eksbuild.1Seguridad de EKS: acceso al endpoint y cifrado
El endpoint del servidor de API de EKS se puede configurar como public only, private only o ambos. Los endpoints públicos están protegidos mediante autenticación de IAM; los endpoints exclusivamente privados requieren que su kubeconfig acceda a la VPC mediante VPN o Direct Connect. También puede habilitar el envelope encryption de los secretos de Kubernetes en reposo mediante una clave de AWS KMS, lo que proporciona una capa adicional de protección para los datos de configuración confidenciales.
# Enable private endpoint and envelope encryption at cluster creation
aws eks create-cluster \
--name secure-cluster \
--kubernetes-version 1.29 \
--role-arn arn:aws:iam::111122223333:role/EKSClusterRole \
--resources-vpc-config subnetIds=subnet-xxx,securityGroupIds=sg-xxx,endpointPublicAccess=false,endpointPrivateAccess=true \
--encryption-config '[{"provider":{"keyArn":"arn:aws:kms:us-east-1:111122223333:key/KEY_ID"},"resources":["secrets"]}]'Cluster Autoscaler en EKS
Cluster Autoscaler es un pod de Kubernetes que busca pods que no se pueden programar y ajusta automáticamente el tamaño de los grupos de Auto Scaling de los nodos administrados. Cuando los pods no se pueden programar debido a recursos insuficientes, Cluster Autoscaler escala hacia arriba. Cuando los nodos están infrautilizados y sus pods se pueden reprogramar en otro lugar, escala hacia abajo. Requiere permisos de IAM para llamar a la API de EC2 Auto Scaling mediante IRSA.
# Deploy Cluster Autoscaler (abbreviated)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml
# Add required annotation so it discovers your cluster ASGs
kubectl annotate serviceaccount cluster-autoscaler \
-n kube-system \
eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/ClusterAutoscalerRoleComprobación rápida
Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección ha aprendido lo siguiente: AWS gestiona el plano de control de EKS con un SLA del 99,95 %, los grupos de nodos gestionados permiten que AWS gestione el ciclo de vida de los nodos, mientras que los grupos autogestionados ofrecen la máxima personalización, y el ConfigMap aws-auth asigna identidades de IAM a RBAC de Kubernetes para controlar el acceso al clúster. A continuación, exploraremos los perfiles de Fargate para la ejecución de pods sin servidor.
Preguntas frecuentes
¿La lección «Plano de control y nodos de trabajo de EKS» es gratis?
Sí — el texto completo de «Plano de control y nodos de trabajo de EKS» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué aprenderé en «Plano de control y nodos de trabajo de EKS»?
Comprenda qué gestiona AWS en el plano de control de EKS, aprovisione grupos de nodos administrados y conecte kubectl a su clúster Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?
No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Plano de control y nodos de trabajo de EKS»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?
Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Plano de control y nodos de trabajo de EKS
- Perfiles de Fargate para pods sin servidor
- Redes de EKS: VPC CNI y balanceo de carga
- Roles de IAM para cuentas de servicio (IRSA)