Wie verwende ich das Bottlerocket-AMI, um eine verwaltete Knotengruppe in Amazon EKS zu erstellen?
Ich möchte das Bottlerocket-AMI verwenden, um eine verwaltete Knotengruppe in Amazon Elastic Kubernetes Service (Amazon EKS) zu erstellen.
Lösung
Du kannst eksctl mit einer Konfigurationsdatei verwenden, um eine verwaltete Bottlerocket-Knotengruppe zu erstellen.
Voraussetzungen
- eksctl-Version 0.124.0 oder höher
- Ein vorhandener Amazon EKS-Cluster
- Wenn du SSH-Zugriff auf Knoten benötigst, brauchst du ein Amazon Elastic Compute Cloud (Amazon EC2)-SSH-Schlüsselpaar
Um das Bottlerocket-AMI zum Erstellen einer verwalteten Knotengruppe zu verwenden, führe die folgenden Schritte aus:
eksctl-Version überprüfen
Um deine eksctl-Version zu überprüfen, führe den folgenden Befehl aus:
eksctl version
Wenn du eksctl installieren oder aktualisieren musst, siehe Installationsoptionen für Eksctl.
Die Konfigurationsdatei erstellen
Wichtig: Bottlerocket unterstützt allgemeine, rechenoptimierte, arbeitsspeicheroptimierte und speicheroptimierte Instance-Typen. Bottlerocket unterstützt keine beschleunigten Computing-Instances.
Erstelle eine Datei mit dem Namen bottlerocket.yaml mit der folgenden Konfiguration:
--- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: mybottlerocket-cluster region: your-region version: '1.31' iam: withOIDC: true nodeGroups: - name: ng-bottlerocket instanceType: m5.large desiredCapacity: 3 amiFamily: Bottlerocket ami: auto-ssm iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName: your-ec2-keypair-name
Hinweis: Ersetze mybottlerocket-cluster durch den Namen deines Clusters. Ersetze your-region durch deine AWS-Region. Ersetze your-ec2-keypair-name durch den Namen deines Amazon EC2-SSH-Schlüsselpaars. Wenn du kein Amazon EC2-Schlüsselpaar hast, siehe Ein Schlüsselpaar für die Amazon EC2-Instance erstellen.
Verwaltete Knotengruppe erstellen
Um die verwaltete Knotengruppe zu erstellen, führe den folgenden Befehl aus:
eksctl create nodegroup --config-file=bottlerocket.yaml
Der Befehl erstellt die Knotengruppe und registriert die Knoten bei deinem Cluster. Dieser Vorgang dauert mehrere Minuten.
Knoten überprüfen
Um zu überprüfen, ob die Knoten ausgeführt werden, führe den folgenden Befehl aus:
kubectl get nodes -o wide
Die Ausgabe zeigt deine Bottlerocket-Knoten mit ihrem Status, der Kubernetes-Version und Betriebssysteminformationen.
Beispielausgabe:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-[IP_ADDRESS].us-west-2.compute.internal Ready <none> 5m v1.31.0 [IP_ADDRESS] <none> Bottlerocket OS 1.20.0 (aws-k8s-1.31) 5.15.0 containerd://1.7.11
Verbindung zu Bottlerocket-Knoten herstellen
Bottlerocket-Knoten enthalten standardmäßig keinen SSH-Server oder keine Shell. Um dich zur Fehlerbehebung mit Bottlerocket-Knoten zu verbinden, verwende AWS Systems Manager Session Manager.
Um dich mit einem Bottlerocket-Knoten zu verbinden, führe die folgenden Schritte aus:
-
Rufe die Instance-ID deines Bottlerocket-Knotens aus der Amazon EC2-Konsole ab oder führe den folgenden Befehl aus:
kubectl get nodes -o wide -
Verwende die Instance-ID, um eine Session Manager-Sitzung zu starten. Weitere Informationen zum Starten einer Sitzung findest du unter Sitzung starten (Systems Manager-Konsole).
Hinweis: Die IAM-Richtlinie AmazonSSMManagedInstanceCore in der Knotengruppenkonfiguration ermöglicht den Zugriff über Session Manager auf deine Bottlerocket-Knoten.
Ähnliche Informationen
Selbstverwaltete Bottlerocket-Knoten erstellen
Knotenlebenszyklus mit verwalteten Knotengruppen vereinfachen
Bottlerocket-AMI mit Amazon EKS verwenden auf der Github-Website
- Themen
- Containers
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 9 Monaten