Comment puis-je créer plusieurs groupes de nœuds pour les nœuds Amazon EKS avec eksctl ?
Je souhaite créer plusieurs groupes de nœuds pour les nœuds Amazon Elastic Kubernetes Service (Amazon EKS) avec eksctl.
Résolution
Vous pouvez créer un groupe de nœuds avec eksctl et les paramètres par défaut. Vous pouvez aussi en créer un avec des paramètres personnalisés et un fichier de configuration pour plusieurs groupes de nœuds.
Remarque : pour installer la dernière version d’eksctl, consultez la page Options d’installation pour Eksctl.
Pour vérifier qu'eksctl est configuré et installé sur votre machine locale, ouvrez le terminal ou l'invite de commande de votre choix et exécutez la commande suivante :
eksctl version
Choisissez ensuite l’une des résolutions suivantes en fonction du type de paramètres que vous souhaitez utiliser.
Créer un groupe de nœuds avec des paramètres par défaut
-
Pour créer un groupe de nœuds supplémentaire avec des paramètres par défaut, exécutez la commande suivante :
eksctl create nodegroup --cluster=CLUSTER_NAME --name=NODEGROUP_NAME --region REGION_NAMERemarque : remplacez CLUSTER_NAME par le nom de votre cluster, NODEGROUP_NAME par le groupe de nœuds et REGION_NAME par votre région AWS.
Les paramètres par défaut sont les suivants :
Instance type = m5.largeAMI : latest AWS EKS AMI Nodes-desired capacity = 2 Nodes-min capacity =2 Nodes-max capacity=2Remarque : par défaut, les nouveaux groupes de nœuds héritent de la version de Kubernetes depuis le plan de contrôle. Vous pouvez spécifier une version différente de Kubernetes (par exemple, version=1.27). Pour utiliser la dernière version de Kubernetes, exécutez la commande –version=latest.
-
Pour confirmer que les nouveaux groupes de nœuds sont attachés au cluster et vérifier que les nœuds ont rejoint le cluster, exécutez la commande suivante :
kubectl get nodes eksctl get nodegroups --cluster CLUSTER_NAME --region REGION_NAMERemarque : remplacez CLUSTER_NAME par le nom de votre cluster et REGION_NAME par votre région AWS.
-
Dans la sortie, confirmez que le statut du groupe de nœuds est ACTIF et que le statut du nœud est PRÊT.
Exemple de statut du groupe de nœuds :eksctl get nodegroups --cluster yourClusterName --region yourRegionName CLUSTER NODEGROUP STATUS CREATED MIN SIZE MAX SIZE DESIRED CAPACITY INSTANCE TYPE IMAGE ID ASG NAME TYPE clusterName example-workers ACTIVE 2023-10-28T14:30:00Z 2 2 2 m5.large AL2_x86_64 eks-example-workers-11223344 managedExemple de statut du nœud :
kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-100-101.us-west-2.compute.internal Ready <none> 4h v1.27.1-eks-1 ip-192-168-100-102.us-west-2.compute.internal Ready <none> 4h v1.27.1-eks-1
Créer un groupe de nœuds avec des paramètres personnalisés
-
Définissez les paramètres du nouveau groupe de nœuds dans un fichier de configuration. Exemple :
kind: ClusterConfig apiVersion: eksctl.io/v1alpha5 metadata: name: CLUSTER_NAME region: REGION_NAME nodeGroups: - name: NODEGROUP_NAME availabilityZones: ["AVAILABILITY_ZONE"] desiredCapacity: 3 instanceType: m5.large iam: instanceProfileARN: "arn:aws:iam::444455556666:instance-profile/eks-nodes-base-role" #Attaching IAM role instanceRoleARN: "arn:aws:iam::444455556666:role/eks-nodes-base-role" privateNetworking: true securityGroups: withShared: true withLocal: true attachIDs: ['SECURITY_GROUP_ID'] ssh: publicKeyName: 'KEY-PAIR-NAME' kubeletExtraConfig: kubeReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" kubeReservedCgroup: "/kube-reserved" systemReserved: cpu: "300m" memory: "300Mi" ephemeral-storage: "1Gi" tags: 'environment': 'development' - name: ng-2-builders #example of a nodegroup that uses 50% spot instances and 50% on demand instances: minSize: 2 maxSize: 5 instancesDistribution: maxPrice: 0.017 instanceTypes: ["t3.small", "t3.medium"] # At least two instance types should be specified onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 spotInstancePools: 2 tags: 'environment': 'production'Remarque : remplacez CLUSTER_NAME par le nom de votre cluster, REGION_NAME par votre région AWS, NODEGROUP_NAME par le nom de votre groupe de nœuds. SECURITY_GROUP_ID par l’ID du groupe de sécurité, KEY_PAIR_NAME par le nom de votre paire de clés et AVAILABILITY_ZONE par votre zone de disponibilité.
Pour plus d'informations sur les paramètres et les types de groupes de nœuds pris en charge, consultez la section Groupes de nœuds.
-
Pour créer un groupe de nœuds supplémentaire avec le fichier de configuration, exécutez la commande suivante :
eksctl create nodegroup --config-file=CONFIG_FILERemarque : remplacez CONFIG_FILE par le nom de votre fichier de configuration.
-
(Facultatif) La commande de l’étape 2 déploie une pile AWS CloudFormation afin de créer des ressources pour le groupe de nœuds EKS. Pour vérifier l’état de la pile, accédez à la console CloudFormation et vérifiez que la région AWS est bien la même que celle du cluster.
Une fois que la pile est dans l’état CREATE_COMPLETE, la commande eksctl se ferme correctement. -
Pour confirmer que les nouveaux groupes de nœuds sont attachés au cluster et que les nœuds ont rejoint le cluster, exécutez la commande suivante :
kubectl get nodes eksctl get nodegroups --cluster CLUSTER_NAME --region REGION_NAMERemarque : remplacez CLUSTER_NAME par le nom de votre cluster et REGION_NAME par votre région AWS.
Dans la sortie, confirmez que le statut du groupe de nœuds est ACTIF et que le statut du nœud est PRÊT.
Exemple de statut du groupe de nœuds :
eksctl get nodegroups --cluster yourClusterName --region yourRegionName CLUSTER NODEGROUP STATUS CREATED MIN SIZE MAX SIZE DESIRED CAPACITY INSTANCE TYPE IMAGE ID ASG NAME TYPE clusterName example-workers ACTIVE 2023-10-28T14:30:00Z 2 2 3 m5.large AL2_x86_64 eks-example-workers-11223344 managedExemple de statut du nœud :
kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-100-101.us-west-2.compute.internal Ready <none> 4h v1.27.1-eks-1 ip-192-168-100-102.us-west-2.compute.internal Ready <none> 4h v1.27.1-eks-1 ip-192-168-100-103.us-west-2.compute.internal Ready <none> 4h v1.27.1-eks-1
- Sujets
- Containers
- Langue
- Français

Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 3 ans
- demandé il y a un an
- demandé il y a 2 ans
AWS OFFICIELA mis à jour il y a 5 mois