Come posso creare più gruppi di nodi per i nodi Amazon EKS utilizzando eksctl?
Desidero creare più gruppi di nodi per i nodi di Amazon Elastic Kubernetes Service (Amazon EKS) utilizzando eksctl.
Breve descrizione
È possibile creare un gruppo di nodi con eksctl e parametri predefiniti. Oppure creane uno con parametri personalizzati e un file di configurazione per più gruppi di nodi.
Per installare l'ultima versione di eksctl, vedi Installazione sul sito web eksctl.
Per confermare che eksctl sia configurato e installato sul terminale con le autorizzazioni corrette, esegui questo comando:
$ eksctl version
Quindi, scegli una delle seguenti risoluzioni in base al tipo di parametri che desideri utilizzare.
Risoluzione
Crea un gruppo di nodi con parametri predefiniti
-
Per creare un gruppo di nodi aggiuntivo con parametri predefiniti, esegui questo comando:
$ eksctl create nodegroup --cluster=yourClusterName --name=yourNodeGroupName --region yourRegionName
-
Di seguito sono riportati i parametri predefiniti:
Instance type = m5.largeAMI : lastest AWS EKS AMI Nodes-desired capacity = 2 Nodes-min capacity =2 Nodes-max capacity=2
Nota: per impostazione predefinita, i nuovi gruppi di nodi ereditano la versione di Kubernetes dal piano di controllo (–version=auto). Puoi specificare una versione diversa di Kubernetes (ad esempio, version=1.27). Per utilizzare la versione più recente di Kubernetes, esegui il comando –version=latest.
-
Per confermare che i nuovi gruppi di nodi siano collegati al cluster e verificare che i nodi siano entrati a far parte del cluster, esegui questi comandi:
$ kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName --region yourRegionName
Nell'output, conferma che lo stato del nodo è PRONTO e lo stato del gruppo di nodi è ATTIVO. Ad esempio:
Stato del gruppo di nodi
$ 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 ngWorkers ACTIVE Date&Time * * * m5.large AL2_x86_64 ASGNAME managed
****Stato del nodo
$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-***-**-**-***.region.compute.internal Ready <none> 4h v1.2x.x-eks-xx ip-***-**-***-**.region.compute.internal Ready <none> 4h v1.2x.x-eks-xx Create a node group with custom parameters
Crea un gruppo di nodi con parametri personalizzati
-
Definisci i parametri per il nuovo gruppo di nodi in un file di configurazione. Ad esempio:
kind: ClusterConfig apiVersion: eksctl.io/v1alpha5 metadata: name: clusterName region: region nodeGroups: - name: ngWorkers availabilityZones: ["az-name"] desiredCapacity: 3 instanceType: m5.large iam: instanceProfileARN: "arn:aws:iam::11111:instance-profile/eks-nodes-base-role" #Attaching IAM role instanceRoleARN: "arn:aws:iam::1111:role/eks-nodes-base-role" privateNetworking: true securityGroups: withShared: true withLocal: true attachIDs: ['sg-11111', 'sg-11112'] ssh: publicKeyName: 'my-instance-key' 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'
Per ulteriori informazioni sui parametri supportati e sui tipi di nodegroup, consulta Nodegroups sul sito Web eksctl.
-
Per creare un gruppo di nodi aggiuntivo con il file di configurazione, esegui il comando seguente:
$ eksctl create nodegroup --config-file=yourConfigFileName
-
(Facoltativo) Il comando nella fase 2 distribuisce uno stack AWS CloudFormation per creare risorse per il gruppo di nodi EKS. Per verificare lo stato dello stack, accedi alla console CloudFormation e conferma che la regione AWS è la stessa del cluster.
Dopo che lo stack è in stato CREATE_COMPLETE, il comando eksctl esce con successo. -
Per confermare che i nuovi gruppi di nodi siano collegati al cluster e per verificare che i nodi siano entrati a far parte del cluster, esegui questi comandi:
$ kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName --region yourRegionName
Nell'output, conferma che lo stato del nodo è PRONTO e lo stato del gruppo di nodi è ATTIVO. Ad esempio:
Stato del gruppo di nodi$ 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 ngWorkers ACTIVE Date&Time * * * m5.large AL2_x86_64 ASGNAME managed
Stato del nodo
$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-***-**-**-***.region.compute.internal Ready <none> 4h v1.2x.x-eks-xx ip-***-**-***-**.region.compute.internal Ready <none> 4h v1.2x.x-eks-xx
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 10 mesi fa