Helfen Sie mit, diese Seite zu verbessern
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.
Möchten Sie zu diesem Benutzerhandbuch beitragen? Wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet. Ihre Beiträge werden dazu beitragen, dass unser Benutzerhandbuch für alle besser wird.
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.
Selbstverwaltetes erstellen Bottlerocket Knoten
Anmerkung
Verwaltete Knotengruppen bieten möglicherweise einige Vorteile für Ihren Anwendungsfall. Weitere Informationen finden Sie unter Vereinfachen Sie den Knotenlebenszyklus mit verwalteten Knotengruppen.
In diesem Thema wird beschrieben, wie Sie Auto Scaling Scaling-Gruppen von Bottlerocket-Knoteneksctl
Dokumentation.
Informationen zu direkten Upgrades finden Sie unter Bottlerocket
Wichtig
-
Amazon EKS-Knoten sind EC2 Standard-Amazon-Instances, und sie werden Ihnen auf der Grundlage der normalen EC2 Amazon-Instance-Preise in Rechnung gestellt. Weitere Informationen finden Sie unter EC2 Amazon-Preise
. -
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 Stellen Sie Amazon EKS vor Ort mit AWS Outposts bereit.
-
Sie können auf EC2 Amazon-Instances bereitstellen mit
x86
oder Arm Prozessoren. Sie können die Bereitstellung jedoch nicht auf Instanzen durchführen, die Inferentia Chips. -
Bottlerocket ist kompatibel mit AWS CloudFormation. Es gibt jedoch keine offizielle CloudFormation Vorlage, die zur Bereitstellung kopiert werden kann Bottlerocket Knoten für Amazon EKS.
-
Bottlerocket Bilder werden nicht mit einem geliefert SSH Server oder eine Shell. Sie können out-of-band Zugriffsmethoden verwenden, um Folgendes zuzulassen SSH den Admin-Container zu aktivieren und einige Bootstrapping-Konfigurationsschritte mit Benutzerdaten zu bestehen. Weitere Informationen finden Sie in diesen Abschnitten in der Datei Bottlerocket
README.md unter GitHub:
Für diesen Vorgang ist eksctl
Version 0.199.0
oder höher erforderlich. Sie können Ihre -Version mit dem folgenden Befehl überprüfen:
eksctl version
Anweisungen zur Installation oder zum Upgrade eksctl
finden Sie in der eksctl
Dokumentation unter Installationeksctl
+. Kopieren Sie die folgenden Inhalte 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. my-ec2-keypair-name
Ersetzen Sie es durch den Namen eines Amazon EC2 SSH-Schlüsselpaars, mit dem Sie nach dem Start über SSH eine Verbindung zu Ihren Knoten herstellen können. Wenn Sie noch kein EC2 Amazon-Schlüsselpaar haben, können Sie eines in der erstellen AWS Management Console. Weitere Informationen finden Sie unter EC2 Amazon-Schlüsselpaare im EC2 Amazon-Benutzerhandbuch. Ersetzen Sie example values
durch Ihre eigenen Werte. Sobald Sie die Ersetzungen vorgenommen haben, führen Sie den modifizierten Befehl aus, um die bottlerocket.yaml
Datei zu erstellen.
+ Wenn Sie einen Arm EC2 Amazon-Instance-Typ angeben, lesen Sie AMIs vor der Bereitstellung die Überlegungen in Amazon EKS-optimiertem Arm Amazon Linux. Anweisungen zur Bereitstellung mit einem benutzerdefinierten AMI finden Sie unter Building Bottlerocketeksctl
Dokumentation. Um eine verwaltete Knotengruppe bereitzustellen, stellen Sie ein benutzerdefiniertes AMI mithilfe einer Startvorlage bereit. Weitere Informationen finden Sie unter Passen Sie verwaltete Knoten mit Startvorlagen an.
+ 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-Dateieneksctl
-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.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: my-ec2-keypair-name EOF
-
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"
-
(Optional) Erstellen Sie ein Kubernetes persistenter Datenträger
auf einem Bottlerocket Knoten, der das Amazon EBS CSI Plugin verwendet. Der standardmäßige Amazon EBS-Treiber basiert auf Dateisystem-Tools, die nicht im Lieferumfang von enthalten sind Bottlerocket. Weitere Hinweise zum Erstellen einer Speicherklasse mithilfe des Treibers finden Sie unterSpeichern Kubernetes Volumen mit Amazon EBS. -
(Optional)
kube-proxy
Setzt dennf_conntrack_max
Kernel-Parameter standardmäßig auf einen Standardwert, der von dem abweichen kann Bottlerocket wird ursprünglich beim Systemstart festgelegt. Zu behalten Bottlerocket’s Standardeinstellung, edit the `kube-proxy Konfiguration mit dem folgenden Befehl.kubectl edit -n kube-system daemonset kube-proxy
Fügen Sie
--conntrack-max-per-core
und--conntrack-min
zu denkube-proxy
-Argumenten im folgenden Beispiel hinzu. Eine Einstellung von0
impliziert keine Änderung.containers: - command: - kube-proxy - --v=2 - --config=/var/lib/kube-proxy-config/config - --conntrack-max-per-core=0 - --conntrack-min=0
-
(Optional) Stellen Sie eine Beispielanwendung bereit, um Ihre zu testen Bottlerocket Knoten.
-
Wir empfehlen das Blockieren Pod Zugriff auf IMDS, wenn die folgenden Bedingungen zutreffen:
-
Sie planen, all Ihren IAM-Rollen zuzuweisen Kubernetes Dienstkonten, sodass Pods haben nur die Mindestberechtigungen, die sie benötigen.
-
Nein Pods im Cluster benötigen aus anderen Gründen Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS), z. B. zum Abrufen der aktuellen AWS Region.
Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. -