

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Selbstverwaltete Bottlerocket-Knoten erstellen
<a name="launch-node-bottlerocket"></a>

**Anmerkung**  
Verwaltete Knotengruppen bieten möglicherweise einige Vorteile für Ihren Anwendungsfall. Weitere Informationen finden Sie unter [Vereinfachung des Knotenlebenszyklus mit verwalteten Knotengruppen](managed-node-groups.md).

In diesem Thema wird beschrieben, wie Sie Auto-Scaling-Gruppen von [Bottlerocket](https://aws.amazon.com/bottlerocket/)-Knoten starten, die mit Ihrem Amazon-EKS-Cluster registriert sind. Bottlerocket ist ein Linux-basiertes Open-Source-Betriebssystem, mit dem Sie Container auf virtuellen AWS Maschinen oder Bare-Metal-Hosts ausführen können. Nachdem die Knoten dem Cluster beigetreten sind, können Sie Kubernetes-Anwendungen darin bereitstellen. Weitere Informationen zu Bottlerocket finden Sie in der Dokumentation unter [Using a Bottlerocket AMI with Amazon EKS](https://github.com/bottlerocket-os/bottlerocket/blob/develop/QUICKSTART-EKS.md) on GitHub and [Custom](https://eksctl.io/usage/custom-ami-support/) AMI support. `eksctl`

[Informationen zu direkten Upgrades finden Sie unter Bottlerocket Update Operator unter.](https://github.com/bottlerocket-os/bottlerocket-update-operator) GitHub

**Wichtig**  
Amazon-EKS-Worker-Knoten sind Standard-Amazon-EC2-Instances und werden Ihnen basierend auf normalen Amazon-EC2-Instance-Preisen berechnet. Weitere Informationen dazu finden Sie unter [Amazon EC2 – Preise](https://aws.amazon.com/ec2/pricing/).
Sie können Bottlerocket-Knoten in erweiterten Amazon EKS-Clustern auf AWS Outposts starten, aber Sie können sie nicht in lokalen Clustern auf Outposts starten. AWS Weitere Informationen finden Sie unter [Bereitstellung von Amazon EKS On-Premises mit AWS Outposts](eks-outposts.md).
Sie können auf Amazon-EC2-Instances mit `x86`- oder Arm -Prozessoren bereitstellen. Sie können jedoch nicht auf Instances bereitstellen, die über Inferentia-Chips verfügen.
Bottlerocket ist kompatibel mit. AWS CloudFormation Es gibt jedoch keine offizielle CloudFormation Vorlage, die kopiert werden kann, um Bottlerocket-Knoten für Amazon EKS bereitzustellen.
Bottlerocket-Images werden nicht mit einem SSH-Server oder einer Shell geliefert. Sie können out-of-band Zugriffsmethoden verwenden, um die SSH-Aktivierung des Admin-Containers zu ermöglichen und einige Bootstrapping-Konfigurationsschritte mit Benutzerdaten zu durchlaufen. Weitere Informationen finden Sie in diesen Abschnitten im [bottlerocket README.md](https://github.com/bottlerocket-os/bottlerocket) auf GitHub:  
 [Exploration](https://github.com/bottlerocket-os/bottlerocket#exploration) (Erkundung) 
 [Administrator-Container](https://github.com/bottlerocket-os/bottlerocket#admin-container) 
 [Kubernetes-Einstellungen](https://github.com/bottlerocket-os/bottlerocket#kubernetes-settings) 

Für diesen Vorgang ist `eksctl` Version `0.215.0` oder höher erforderlich. Sie können Ihre -Version mit dem folgenden Befehl überprüfen:

```
eksctl version
```

Anweisungen zum Installieren oder Aktualisieren von `eksctl` finden Sie unter [Installation](https://eksctl.io/installation) in der `eksctl`-Dokumentation. HINWEIS: Dieses Verfahren funktioniert nur für Cluster, die mit `eksctl` erstellt wurden.

1. Kopieren Sie den folgenden Inhalt auf Ihr Gerät. Ersetzen Sie *my-cluster* mit dem Namen Ihres Clusters. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS Region und des AWS Kontos, in dem Sie den Cluster erstellen, eindeutig sein. Ersetzen Sie *ng-bottlerocket* durch einen Namen für Ihre Knotengruppe. Der Name der Knotengruppe darf nicht länger als 63 Zeichen sein. Er muss mit einem Buchstaben oder einer Ziffer beginnen, kann danach aber auch Bindestriche und Unterstriche enthalten. Um die Bereitstellung auf Arm-Instances durchzuführen, ersetzen Sie *m5.large* durch einen Arm-Instance-Typ. Ersetzen Sie *my-ec2-keypair-name* mit dem Namen eines Amazon-EC2-SSH-Schlüsselpaars ein, das Sie für die Verbindung über SSH in Ihre Arbeitsknoten verwenden können, nachdem sie gestartet wurden. Wenn Sie noch kein Amazon-EC2-Schlüsselpaar haben, können Sie eines in der AWS-Managementkonsole erstellen. Weitere Informationen finden Sie unter [Amazon-EC2-Schlüsselpaare](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) im *Amazon-EC2-Benutzerhandbuch*. Ersetzen Sie alle verbleibenden Beispielwerte durch Ihre eigenen Werte. Nachdem Sie das Ersetzen vorgenommen haben, führen Sie den geänderten Befehl aus, um die `bottlerocket.yaml`-Datei zu erstellen.

   Wenn Sie einen Arm Amazon EC2 EC2-Instance-Typ angeben, lesen Sie AMIs vor der Bereitstellung die Überlegungen im für [Amazon EKS optimierten Arm Amazon Linux](eks-optimized-ami.md#arm-ami). Anweisungen zur Bereitstellung mit einem benutzerdefinierten AMI finden Sie in der Dokumentation unter [Building Bottlerocket](https://github.com/bottlerocket-os/bottlerocket/blob/develop/BUILDING.md) on GitHub und [Custom AMI support](https://eksctl.io/usage/custom-ami-support/). `eksctl` Um eine verwaltete Knotengruppe bereitzustellen, stellen Sie ein benutzerdefiniertes AMI mithilfe einer Startvorlage bereit. Weitere Informationen finden Sie unter [Verwaltete Knoten mit Startvorlagen anpassen](launch-templates.md).
**Wichtig**  
Um eine Knotengruppe in AWS Outposts-, AWS Wavelength- oder AWS Local Zone-Subnetzen bereitzustellen, übergeben Sie beim Erstellen des Clusters keine AWS Outposts-, AWS Wavelength- oder AWS Local Zone-Subnetze. Sie müssen die Subnetze im folgenden Beispiel angeben. Weitere Informationen finden Sie unter [Verwenden von Config-Dateien](https://eksctl.io/usage/nodegroups/#creating-a-nodegroup-from-a-config-file) und im [Config-Datei-Schema](https://eksctl.io/usage/schema/) in der `eksctl`-Dokumentation. Ersetzen Sie es *region-code* durch die AWS Region, in der sich Ihr Cluster befindet.

   ```
   cat >bottlerocket.yaml <<EOF
   ---
   apiVersion: eksctl.io/v1alpha5
   kind: ClusterConfig
   
   metadata:
     name: my-cluster
     region: region-code
     version: '1.35'
   
   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: my-ec2-keypair-name
   EOF
   ```

1. Stellen Sie den Treiber mit dem folgenden Befehl bereit.

   ```
   eksctl create nodegroup --config-file=bottlerocket.yaml
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   Mehrere Zeilen werden ausgegeben, während die Knoten erstellt werden. Die letzte Ausgabezeile ähnelt der folgenden Beispielzeile.

   ```
   [✔]  created 1 nodegroup(s) in cluster "my-cluster"
   ```

1. (Optional) Erstellen eines Kubernetes[Persistenter](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)auf einem Bottlerocket-Knoten mit dem[Amazon-EBS-CSI-Plugin](https://github.com/kubernetes-sigs/aws-ebs-csi-driver). Der standardmäßige Amazon-EBS-Treiber basiert auf Dateisystem-Tools, die nicht in Bottlerocket enthalten sind. Weitere Informationen zur Erstellung einer Speicherklasse mit dem Treiber finden Sie unter [Kubernetes-Volume-Speicher mit Amazon EBS verwenden](ebs-csi.md).

1. (Optional) Standardmäßig setzt `kube-proxy` den Kernelparameter `nf_conntrack_max` auf einen Standardwert, der sich von dem unterscheiden kann, was Bottlerocket ursprünglich beim Booten festgelegt hat. Um die [Standardeinstellung](https://github.com/bottlerocket-os/bottlerocket-core-kit/blob/develop/packages/release/release-sysctl.conf) von Bottlerocket beizubehalten, bearbeiten Sie die `kube-proxy`-Konfiguration im folgenden Befehl.

   ```
   kubectl edit -n kube-system daemonset kube-proxy
   ```

   Fügen Sie `--conntrack-max-per-core` und `--conntrack-min` zu den `kube-proxy`-Argumenten im folgenden Beispiel hinzu. Eine Einstellung von`0`impliziert keine Änderung.

   ```
         containers:
         - command:
           - kube-proxy
           - --v=2
           - --config=/var/lib/kube-proxy-config/config
           - --conntrack-max-per-core=0
           - --conntrack-min=0
   ```

1. (Optional) Bereitstellen einer[-Beispielanwendung](sample-deployment.md), um Ihre Bottlerocket-Knoten zu testen.

1. Wir empfehlen, den Pod-Zugriff auf das IMDS zu blockieren, wenn die folgenden Bedingungen erfüllt sind:
   + Sie planen, allen Ihren Kubernetes-Servicekonten IAM-Rollen zuzuweisen, damit Pods nur die Mindestberechtigungen haben, die sie benötigen.
   + Keine Pods im Cluster benötigen aus anderen Gründen Zugriff auf den Amazon EC2 EC2-Instance-Metadaten-Service (IMDS), z. B. zum Abrufen der aktuellen Region. AWS 

   Weitere Informationen finden Sie unter [Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node).