Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
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.
Lösung
Du kannst eine Knotengruppe mit eksctl und Standardparametern erstellen. Oder erstelle eine mit benutzerdefinierten Parametern und einer Konfigurationsdatei für mehrere Knotengruppen.
Hinweis: Informationen zur Installation der neuesten Version von eksctl findest du unter Installationsoptionen für Eksctl.
Um zu bestätigen, dass eksctl auf deinem lokalen Computer konfiguriert und installiert ist, öffne dein bevorzugtes Terminal oder die Eingabeaufforderung und führe den folgenden Befehl aus:
eksctl version
Wähle dann je nach Art der Parameter, die du verwenden möchtest, eine der folgenden Auflösungen aus.
Knotengruppe mit Standardparametern erstellen
-
Führe diesen Befehl aus, um eine zusätzliche Knotengruppe mit Standardparametern zu erstellen:
eksctl create nodegroup --cluster=CLUSTER_NAME --name=NODEGROUP_NAME --region REGION_NAMEHinweis: Ersetze CLUSTER_NAME durch deinen Cluster-Namen, NODEGROUP_NAME durch deinen Knotengruppennamen und REGION_NAME durch deine AWS-Region.
Im Folgenden findest du die Standardparameter:
Instance type = m5.largeAMI : latest AWS EKS AMI Nodes-desired capacity = 2 Nodes-min capacity =2 Nodes-max capacity=2Hinweis: Standardmäßig erben neue Knotengruppen die Version von Kubernetes von der Steuerebene. Du kannst eine andere Version von Kubernetes angeben (z. B. version=1.27). Um die neueste Version von Kubernetes zu verwenden, führe den Befehl –version=latest aus.
-
Führe den folgenden Befehl 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 CLUSTER_NAME --region REGION_NAMEHinweis: Ersetze CLUSTER_NAME durch den Namen deines Clusters und REGION_NAME durch deine AWS-Region.
-
Bestätige in der Ausgabe, dass der Knotengruppenstatus AKTIV und der Knotenstatus BEREIT ist.
Beispiel für den Status einer 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 example-workers ACTIVE 2023-10-28T14:30:00Z 2 2 2 m5.large AL2_x86_64 eks-example-workers-11223344 managedBeispiel für den Status eines Knotens:
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
Knotengruppe mit benutzerdefinierten Parametern erstellen
-
Definiere die Parameter für die neue Knotengruppe in einer Konfigurationsdatei. Zum Beispiel:
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'Hinweis: Ersetze CLUSTER_NAME durch deinen Clusternamen, REGION_NAME durch deine AWS-Region, NODEGROUP_NAME durch deinen Knotengruppennamen. SECURITY_GROUP_ID durch deine Sicherheitsgruppen-ID, KEY_PAIR_NAME durch deinen Schlüsselpaar-Namen und AVAILABILITY_ZONE durch deine Availability Zone.
Weitere Informationen zu unterstützten Parametern und Knotengruppentypen findest du unter Knotengruppen.
-
Um eine zusätzliche Knotengruppe mit der Konfigurationsdatei zu erstellen, führe den folgenden Befehl aus:
eksctl create nodegroup --config-file=CONFIG_FILEHinweis: Ersetze CONFIG\ _FILE durch deinen Konfigurationsdateinamen.
-
(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, greife auf die CloudFormation-Konsole zu und vergewissere dich, 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ühre den folgenden Befehl 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 CLUSTER_NAME --region REGION_NAMEHinweis: Ersetze CLUSTER_NAME durch den Namen deines Clusters und REGION_NAME durch deine AWS-Region.
Bestätige in der Ausgabe, dass der Knotengruppenstatus AKTIV und der Knotenstatus BEREIT ist.
Beispiel für den Status einer 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 example-workers ACTIVE 2023-10-28T14:30:00Z 2 2 3 m5.large AL2_x86_64 eks-example-workers-11223344 managedBeispiel für den Status eines Knotens:
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
- Themen
- Containers
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 3 Jahren