Direkt zum Inhalt

Wie verwende ich das Bottlerocket-AMI, um eine verwaltete Knotengruppe in Amazon EKS zu erstellen?

Lesedauer: 3 Minute
0

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:

  1. 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
  2. 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

AWS OFFICIALAktualisiert vor 5 Monaten