Wie erstelle ich mit eksctl mehrere Knotengruppen für Amazon-EKS-Knoten?
Ich möchte mithilfe von eksctl mehrere Knotengruppen für Amazon Elastic Kubernetes Service (Amazon EKS)-Knoten erstellen.
Kurzbeschreibung
Sie können eine Knotengruppe mit eksctl und Standardparametern erstellen. Oder erstellen Sie eine mit benutzerdefinierten Parametern und einer Konfigurationsdatei für mehrere Knotengruppen.
Informationen zur Installation der neuesten Version von eksctl finden Sie unter Installation auf der eksctl-Website.
Führen Sie den folgenden Befehl aus, um zu bestätigen, dass eksctl konfiguriert und auf dem Terminal mit den richtigen Berechtigungen installiert ist:
$ eksctl version
Wählen Sie dann je nach Art der Parameter, die Sie verwenden möchten, eine der folgenden Auflösungen aus.
Behebung
Knotengruppe mit Standardparametern erstellen
-
Führen Sie diesen Befehl aus, um eine zusätzliche Knotengruppe mit Standardparametern zu erstellen:
$ eksctl create nodegroup --cluster=yourClusterName --name=yourNodeGroupName --region yourRegionName
-
Im Folgenden finden Sie die Standardparameter:
Instance type = m5.largeAMI : lastest AWS EKS AMI Nodes-desired capacity = 2 Nodes-min capacity =2 Nodes-max capacity=2
Hinweis: Standardmäßig erben neue Knotengruppen die Version von Kubernetes von der Steuerungsebene (–version=auto). Sie können eine andere Version von Kubernetes angeben (z. B. version=1.27). Um die neueste Version von Kubernetes zu verwenden, führen Sie den Befehl –version=latest aus.
-
Führen Sie die folgenden Befehle aus, um zu bestätigen, dass die neuen Knotengruppen an den Cluster angehängt sind, und um zu überprüfen, ob die Knoten dem Cluster beigetreten sind:
$ kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName --region yourRegionName
Bestätigen Sie in der Ausgabe, dass der Status des Knotens READY und der Status der Knotengruppe ACTIVE ist. Zum Beispiel:
**Status der Knotengruppe **
$ 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
****Knotenstatus
$ 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
Erstellen Sie eine Knotengruppe mit benutzerdefinierten Parametern
-
Definieren Sie die Parameter für die neue Knotengruppe in einer Konfigurationsdatei. Zum Beispiel:
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'
Weitere Informationen zu unterstützten Parametern und Knotengruppen-Typen finden Sie unter Knotengruppen auf der eksctl-Website.
-
Um eine zusätzliche Knotengruppe mit der Konfigurationsdatei zu erstellen, führen Sie den folgenden Befehl aus:
$ eksctl create nodegroup --config-file=yourConfigFileName
-
(Optional) Der Befehl in Schritt 2 stellt einen AWS-CloudFormation-Stack bereit, um Ressourcen für die EKS-Knotengruppe zu erstellen. Um den Stack-Status zu überprüfen, greifen Sie auf die CloudFormation-Konsole zu und vergewissern Sie sich, dass die AWS-Region mit der des Clusters identisch ist.
Nachdem sich der Stack im Status CREATE_COMPLETE befindet, wird der Befehl eksctl erfolgreich beendet. -
Führen Sie die folgenden Befehle aus, um zu bestätigen, dass die neuen Knotengruppen an den Cluster angehängt sind, und um zu überprüfen, ob die Knoten dem Cluster beigetreten sind:
$ kubectl get nodes $ eksctl get nodegroups --cluster yourClusterName --region yourRegionName
Bestätigen Sie in der Ausgabe, dass der Status des Knotens READY und der Status der Knotengruppe ACTIVE ist. Zum Beispiel:
**Status der Knotengruppe **$ 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
**Knotenstatus **
$ 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
Ähnliche Videos
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Monat
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren