Cloud & IT Cert Prep · Leçon

Plan de contrôle et nœuds de travail EKS

Découvrez ce qu’AWS gère dans le plan de contrôle EKS, provisionnez des groupes de nœuds gérés et connectez kubectl à votre cluster.

Leçon 1 sur 413 étapes

Plan de contrôle et nœuds de travail EKS est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Qu’est-ce qu’Amazon EKS ?

Amazon Elastic Kubernetes Service (EKS) est un service Kubernetes entièrement géré qui vous évite d’installer, d’exploiter et de maintenir le plan de contrôle Kubernetes. AWS exécute, met à l’échelle et met à niveau le plan de contrôle dans plusieurs zones de disponibilité, offrant ainsi un point de terminaison de cluster hautement disponible. Vous pouvez vous concentrer entièrement sur le déploiement et la gestion de vos charges de travail applicatives.

Le plan de contrôle EKS

Le plan de contrôle EKS se compose du serveur d’API, d’etcd, du gestionnaire de contrôleurs et du planificateur, tous gérés par AWS. Ces composants s’exécutent dans des comptes appartenant à AWS, ce qui signifie que vous ne vous y connectez jamais en SSH. AWS garantit un SLA de 99,95 % pour le point de terminaison de l’API EKS et remplace automatiquement les nœuds défaillants du plan de contrôle. Vous payez un tarif fixe par cluster et par heure pour le plan de contrôle.

Créer un cluster EKS

Vous pouvez créer un cluster EKS à l’aide de la console AWS, d’eksctl ou de CloudFormation. Le cluster nécessite un VPC avec des sous-réseaux répartis dans au moins deux AZ ainsi qu’un rôle IAM autorisant le plan de contrôle Kubernetes à appeler les API AWS. Une fois créé, le point de terminaison du cluster est une URL HTTPS que vous configurez dans votre 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 5

Connecter kubectl à EKS

Après avoir créé le cluster, mettez à jour votre kubeconfig local afin que kubectl sache comment accéder au serveur d’API EKS. AWS CLI génère automatiquement l’entrée nécessaire. Le serveur d’API EKS utilise AWS IAM pour l’authentification : votre utilisateur ou rôle IAM est associé à une identité RBAC Kubernetes via le aws-auth ConfigMap.

# 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-namespaces

Groupes de nœuds gérés

Les groupes de nœuds gérés permettent à AWS de provisionner, d’enregistrer et de gérer le cycle de vie des nœuds de travail EC2 pour votre compte. Lorsque vous demandez une mise à jour ou un remplacement, EKS vide automatiquement les pods, remplace l’instance et l’enregistre à nouveau, sans intervention manuelle. Les groupes de nœuds gérés utilisent des Auto Scaling Groups en interne, ce qui vous donne le contrôle de la capacité minimale, maximale et souhaitée, ainsi qu’une intégration avec 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 \
  --managed

Groupes de nœuds autogérés

Avec les groupes de nœuds autogérés, vous lancez vous-même les instances EC2 (via CloudFormation ou Terraform) et les enregistrez dans le cluster EKS en exécutant le script Bootstrap. Cela offre une flexibilité maximale : vous pouvez utiliser des AMI personnalisées, des types d’instances GPU ou des configurations de noyau hautement personnalisées ; en revanche, vous êtes entièrement responsable de la mise à jour corrective, du vidage et du remplacement des nœuds.

# 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'

Rôle IAM du nœud et profil d’instance

Chaque nœud de travail doit s’exécuter avec un profil d’instance EC2 associé à trois politiques gérées par AWS : AmazonEKSWorkerNodePolicy, AmazonEKS_CNI_Policy et AmazonEC2ContainerRegistryReadOnly. Elles permettent au nœud de rejoindre le cluster, de gérer le réseau des pods avec le module d’extension VPC CNI et d’extraire des images depuis ECR. Sans ces politiques, les nœuds ne pourront pas s’enregistrer.

# 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/AmazonEC2ContainerRegistryReadOnly

ConfigMap aws-auth : association d’IAM à RBAC

EKS utilise le ConfigMap aws-auth dans l’espace de noms kube-system pour associer les utilisateurs et rôles IAM aux noms d’utilisateur et groupes Kubernetes. Lorsque vous créez un cluster, seule l’identité IAM de son créateur reçoit automatiquement un accès administrateur. Pour permettre à d’autres utilisateurs ou rôles CI/CD d’accéder au cluster, vous devez ajouter des entrées à ce ConfigMap avec les clés mapRoles ou mapUsers appropriées.

# 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:nodes

Modules complémentaires EKS et mises à niveau du cluster

Les modules complémentaires EKS sont des composants logiciels sélectionnés et validés par AWS, tels que le VPC CNI, CoreDNS et kube-proxy, qu’EKS peut installer et maintenir à jour pour votre compte. Lorsque vous mettez à niveau la version Kubernetes de votre cluster, mettez d’abord à jour le plan de contrôle, puis chaque groupe de nœuds géré vers la version correspondante. EKS prend en charge un écart maximal d’une version mineure entre le plan de contrôle et les nœuds pendant la fenêtre de déploiement.

# 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.1

Sécurité EKS : accès au point de terminaison et chiffrement

Le point de terminaison du serveur d’API EKS peut être configuré en mode public uniquement, privé uniquement ou dans les deux modes. Les points de terminaison publics sont sécurisés par l’authentification IAM ; les points de terminaison privés uniquement exigent que votre kubeconfig accède au VPC via un VPN ou Direct Connect. Vous pouvez également activer le chiffrement par enveloppe des secrets Kubernetes au repos à l’aide d’une clé AWS KMS, ce qui ajoute une couche de protection pour les données de configuration sensibles.

# 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 sur EKS

Le Cluster Autoscaler est un pod Kubernetes qui surveille les pods impossibles à planifier et ajuste automatiquement la taille des groupes de nœuds gérés Auto Scaling Groups. Lorsque des pods ne peuvent pas être planifiés en raison de ressources insuffisantes, Cluster Autoscaler augmente la capacité. Lorsque des nœuds sont sous-utilisés et que leurs pods peuvent être replanifiés ailleurs, il réduit la capacité. Il nécessite des autorisations IAM pour appeler l’API Auto Scaling EC2 via 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/ClusterAutoscalerRole

Vérification rapide

Testez votre compréhension des concepts AWS Solutions Architect (SAA-C03) abordés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que : AWS gère le plan de contrôle EKS avec un SLA de 99,95 %, que les groupes de nœuds gérés permettent à AWS de gérer le cycle de vie des nœuds tandis que les groupes autogérés offrent une personnalisation maximale, et que le ConfigMap aws-auth associe les identités IAM à RBAC Kubernetes pour contrôler l'accès au cluster. Nous allons maintenant découvrir les profils Fargate pour l'exécution serverless des pods.

Gratuit pour commencer

Apprends Cloud & IT Cert Prep avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
150
Leçons
600

Questions Fréquemment Posées

La leçon « Plan de contrôle et nœuds de travail EKS » est-elle gratuite ?

Oui — le texte complet de « Plan de contrôle et nœuds de travail EKS » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Plan de contrôle et nœuds de travail EKS » ?

Découvrez ce qu’AWS gère dans le plan de contrôle EKS, provisionnez des groupes de nœuds gérés et connectez kubectl à votre cluster. Tu pratiques Cloud & IT Cert Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cloud & IT Cert Prep ?

Aucune expérience préalable n'est requise. Cloud & IT Cert Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Plan de contrôle et nœuds de travail EKS » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cloud & IT Cert Prep ?

Oui. Chaque leçon Cloud & IT Cert Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Plan de contrôle et nœuds de travail EKS
  2. Profils Fargate pour les pods sans serveur
  3. Réseau EKS : CNI VPC et équilibrage de charge
  4. Rôles IAM pour les comptes de service (IRSA)
← Retour à Cloud & IT Cert Prep