Déploiement d’une charge de travail de gonflement dans un cluster du mode automatique Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Déploiement d’une charge de travail de gonflement dans un cluster du mode automatique Amazon EKS

Ce tutoriel montre comment déployer une charge de travail d’exemple dans un cluster du mode automatique EKS et observer le provisionnement automatique des ressources de calcul nécessaires. Vous utiliserez des commandes kubectl pour surveiller le comportement du cluster et constater concrètement comment le mode automatique simplifie les opérations Kubernetes sur AWS. À la fin de ce tutoriel, vous comprendrez comment le mode automatique EKS réagit aux déploiements de charges de travail en gérant automatiquement les ressources de calcul sous-jacentes, sans configuration manuelle de groupes de nœuds.

Prérequis

  • Un cluster du mode automatique Amazon EKS. Notez le nom et la région AWS du cluster.

  • Un principal IAM, tel qu’un utilisateur ou un rôle, disposant d’autorisations suffisantes pour gérer le réseau, le calcul et les ressources EKS.

  • CLI aws installée et configurée avec une identité IAM.

  • CLI kubectl installée et connectée au cluster.

Étape 1 : consulter les ressources de calcul existantes (facultatif)

Tout d’abord, utilisez kubectl pour répertorier les groupes de nœuds de votre cluster.

kubectl get nodepools

Exemple de résultat :

general-purpose

Dans ce tutoriel, nous allons déployer une charge de travail configurée pour utiliser le groupe de nœuds general-purpose. Ce groupe de nœuds est intégré au mode automatique EKS et propose des valeurs par défaut raisonnables pour des charges générales, comme des microservices et des applications web. Vous pouvez créer votre propre groupe de nœuds. Pour de plus amples informations, consultez Create a Node Pool for EKS Auto Mode.

Ensuite, utilisez kubectl pour répertorier les nœuds connectés à votre cluster.

kubectl get nodes

Si vous venez de créer un cluster du mode automatique EKS, vous n’aurez aucun nœud.

Dans ce tutoriel, vous allez déployer un exemple de charge de travail. Si vous n’avez aucun nœud ou si la charge de travail ne peut pas être adaptée aux nœuds existants, le mode automatique EKS provisionnera un nouveau nœud.

Étape 2 : déployer un exemple d’application sur votre cluster

Consultez le déploiement Kubernetes suivant et enregistrez-le sous 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

Notez que le sélecteur eks.amazonaws.com/compute-type: auto nécessite que la charge de travail soit déployée sur un nœud du mode automatique Amazon EKS.

Appliquez le déploiement à votre cluster.

kubectl apply -f inflate.yaml

Étape 3 : surveiller les événements Kubernetes

Utilisez la commande suivante pour surveiller les événements Kubernetes, notamment la création d’un nouveau nœud. Utilisez ctrl+c pour arrêter la surveillance des événements.

kubectl get events -w --sort-by '.lastTimestamp'

Utilisez kubectl pour répertorier à nouveau les nœuds connectés à votre cluster. Notez le nœud nouvellement créé.

kubectl get nodes

Étape 4 : afficher les nœuds et les instances dans la console AWS

Vous pouvez afficher les nœuds du mode automatique EKS dans la console EKS, ainsi que les instances EC2 associées dans la console EC2.

Les instances EC2 déployées par le mode automatique EKS sont soumises à des restrictions. Vous ne pouvez pas exécuter de commandes arbitraires sur les nœuds du mode automatique EKS.

Étape 5 : supprimer le déploiement

Utilisez kubectl pour supprimer l’exemple de déploiement

kubectl delete -f inflate.yaml

Si aucune autre charge de travail n’est déployée sur votre cluster, le nœud créé par le mode automatique EKS sera vide.

Dans la configuration par défaut, le mode automatique EKS détecte les nœuds vides depuis trente secondes et les arrête.

Utilisez kubectl ou la console EC2 pour confirmer que l’instance associée a été supprimée.