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.
Benutzerdefinierte AMI-Unterstützung
Einstellung der AMI-ID des Knotens
Das --node-ami
Flag ermöglicht eine Reihe fortgeschrittener Anwendungsfälle, z. B. die Verwendung eines benutzerdefinierten AMI oder die Abfrage von AWS in Echtzeit, um zu bestimmen, welches AMI verwendet werden soll. Das Flag kann sowohl für Nicht-GPU- als auch für GPU-Images verwendet werden.
Das Flag kann die AMI-Image-ID für ein Bild verwenden, um es explizit zu verwenden. Es kann auch die folgenden „speziellen“ Schlüsselwörter enthalten:
Stichwort | Beschreibung |
---|---|
auto |
Zeigt an, dass das für die Knoten zu verwendende AMI durch eine Abfrage von AWS EC2 gefunden werden soll. Dies bezieht sich auf den Autoresolver. |
Auto-SSM |
Zeigt an, dass das für die Knoten zu verwendende AMI durch eine Abfrage des AWS SSM Parameter Store gefunden werden soll. |
Anmerkung
Bei der Einstellung --node-ami
auf eine ID-Zeichenfolge eksctl
wird davon ausgegangen, dass ein benutzerdefiniertes AMI angefordert wurde. Für AmazonLinux 2- und Ubuntu-Knoten, die sowohl von EKS verwaltet als auch von EKS selbst verwaltet werden, bedeutet dies, dass dies erforderlich overrideBootstrapCommand
ist. Für AmazonLinux 2023 wird es nicht unterstützt, da es das /etc/eks/bootstrap.sh
Skript nicht mehr für das Node-Bootstrapping verwendet und stattdessen einen Nodeadm-Initialisierungsprozess verwendet (weitere Informationen finden Sie in der Dokumentation zum Node-BootstrappingoverrideBootstrapCommand
Beispiele für CLI-Flaggen:
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
Beispiel für eine Konfigurationsdatei:
nodeGroups: - name: ng1 instanceType: p2.xlarge amiFamily: AmazonLinux2 ami: auto - name: ng2 instanceType: m5.large amiFamily: AmazonLinux2 ami: ami-custom1234 managedNodeGroups: - name: m-ng-2 amiFamily: AmazonLinux2 ami: ami-custom1234 instanceType: m5.large overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh <cluster-name>
Die --node-ami
Flagge kann auch mit verwendet werdeneksctl create nodegroup
.
Einstellung der Knoten-AMI-Familie
Sie --node-ami-family
kann die folgenden Schlüsselwörter annehmen:
Stichwort | Beschreibung |
---|---|
AmazonLinux2 |
Zeigt an, dass das auf Amazon Linux 2 basierende EKS-AMI-Image verwendet werden sollte (Standard). |
AmazonLinux2023 |
Zeigt an, dass das auf Amazon Linux 2023 basierende EKS AMI-Image verwendet werden sollte. |
Ubuntu 2004 |
Zeigt an, dass das auf Ubuntu 20.04 LTS (Focal) basierende EKS AMI-Image verwendet werden sollte (unterstützt für EKS 1.29). |
UbuntuPro2004 |
Zeigt an, dass das auf Ubuntu Pro 20.04 LTS (Focal) basierende EKS AMI-Image verwendet werden sollte (verfügbar für EKS >= 1.27, 1.29). |
Ubuntu 2204 |
Zeigt an, dass das auf Ubuntu 22.04 LTS (Jammy) basierende EKS AMI-Image verwendet werden sollte (verfügbar für EKS >= 1.29). |
UbuntuPro2204 |
Zeigt an, dass das auf Ubuntu Pro 22.04 LTS (Jammy) basierende EKS AMI-Image verwendet werden sollte (verfügbar für EKS >= 1.29). |
Ubuntu 2404 |
Zeigt an, dass das auf Ubuntu 24.04 LTS (Noble) basierende EKS AMI-Image verwendet werden sollte (verfügbar für EKS >= 1.31). |
UbuntuPro2404 |
Zeigt an, dass das auf Ubuntu Pro 24.04 LTS (Noble) basierende EKS AMI-Image verwendet werden sollte (verfügbar für EKS >= 1.31). |
Bottlerocket |
Zeigt an, dass das auf Bottlerocket basierende EKS-AMI-Image verwendet werden sollte. |
WindowsServer2019 FullContainer |
Zeigt an, dass das EKS AMI-Image, das auf Windows Server 2019 Full Container basiert, verwendet werden sollte. |
WindowsServer2019 CoreContainer |
Zeigt an, dass das auf Windows Server 2019 Core Container basierende EKS-AMI-Image verwendet werden sollte. |
WindowsServer2022 FullContainer |
Zeigt an, dass das EKS AMI-Image, das auf Windows Server 2022 Full Container basiert, verwendet werden sollte. |
WindowsServer2022 CoreContainer |
Zeigt an, dass das auf Windows Server 2022 Core Container basierende EKS-AMI-Image verwendet werden sollte. |
Beispiel für eine CLI-Flagge:
eksctl create cluster --node-ami-family=AmazonLinux2
Beispiel für eine Konfigurationsdatei:
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
Die --node-ami-family
Flagge kann auch mit verwendet werdeneksctl create nodegroup
. eksctl
erfordert, dass die AMI-Familie explizit über die Konfigurationsdatei oder über das --node-ami-family
CLI-Flag festgelegt wird, wenn mit einem benutzerdefinierten AMI gearbeitet wird.
Anmerkung
Derzeit unterstützen von EKS verwaltete Knotengruppen nur die folgenden AMI-Familien, wenn sie mit benutzerdefinierten arbeiten AMIs:AmazonLinux2023
,AmazonLinux2
, und Ubuntu1804
Ubuntu2004
Ubuntu2204
Unterstützung für benutzerdefinierte Windows-AMIs
Nur selbstverwaltete Windows-Knotengruppen können ein benutzerdefiniertes AMI angeben. amiFamily
sollte auf eine gültige Windows AMI-Familie eingestellt sein.
Die folgenden PowerShell Variablen werden für das Bootstrap-Skript verfügbar sein:
$EKSBootstrapScriptFile
$EKSClusterName
$APIServerEndpoint
$Base64ClusterCA
$ServiceCIDR
$KubeletExtraArgs
$KubeletExtraArgsMap: A hashtable containing arguments for the kubelet, e.g., @{ 'node-labels' = ''; 'register-with-taints' = ''; 'max-pods' = '10'}
$DNSClusterIP
$ContainerRuntime
Beispiel für eine Konfigurationsdatei:
nodeGroups: - name: custom-windows amiFamily: WindowsServer2022FullContainer ami: ami-01579b74557facaf7 overrideBootstrapCommand: | & $EKSBootstrapScriptFile -EKSClusterName "$EKSClusterName" -APIServerEndpoint "$APIServerEndpoint" -Base64ClusterCA "$Base64ClusterCA" -ContainerRuntime "containerd" -KubeletExtraArgs "$KubeletExtraArgs" 3>&1 4>&1 5>&1 6>&1
Benutzerdefinierte AMI-Unterstützung für Bottlerocket
Für Bottlerocket-Knoten wird das nicht unterstützt. overrideBootstrapCommand
Um einen eigenen Bootstrap-Container zu definieren, sollte man das bottlerocket
Feld stattdessen als Teil der Konfigurationsdatei verwenden. z. B.
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>