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.
Upgrade von Amazon Linux 2 zu Amazon Linux 2023
Warnung
Amazon EKS hat die Veröffentlichung von EKS-optimiertem Amazon Linux 2 (AL2) AMIs am 26. November 2025 eingestellt. AL2023 und Bottlerocket auf Basis von Amazon EKS sind AMIs für alle unterstützten Kubernetes-Versionen einschließlich 1.33 und höher verfügbar.
AL2023 ist ein Linux-basiertes Betriebssystem, das entwickelt wurde, um eine sichere, stabile und leistungsstarke Umgebung für Ihre Cloud-Anwendungen bereitzustellen. Es handelt sich um die nächste Generation von Amazon Linux von Amazon Web Services und ist für alle unterstützten Amazon-EKS-Versionen verfügbar.
AL2023 bietet mehrere Verbesserungen gegenüber. AL2 Einen vollständigen Vergleich finden Sie unter AL2 Comparing and Amazon Linux 2023 im Amazon Linux 2023-Benutzerhandbuch. Es wurden mehrere Pakete hinzugefügt, aktualisiert und entfernt AL2. Es wird dringend empfohlen, Ihre Anwendungen vor dem Upgrade mit AL2 023 zu testen. Eine Liste aller Paketänderungen in Version AL2 023 finden Sie unter Paketänderungen in Amazon Linux 2023 in den Versionshinweisen zu Amazon Linux 2023.
Zusätzlich zu diesen Änderungen sollten Sie Folgendes beachten:
-
AL2023 führt einen neuen Knoteninitialisierungsprozess ein
nodeadm, der ein YAML-Konfigurationsschema verwendet. Wenn Sie selbstverwaltete Knotengruppen oder eine AMI mit einer Startvorlage verwenden, müssen Sie nun beim Erstellen einer neuen Knotengruppe explizit zusätzliche Cluster-Metadaten angeben. Ein Beispielfür die mindestens erforderlichen Parameter ist wie folgt, wobei jetzt apiServerEndpoint,certificateAuthorityund Service-cidrerforderlich sind:--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16AL2In wurden die Metadaten dieser Parameter aus dem Amazon
DescribeClusterEKS-API-Aufruf ermittelt. Mit AL2 023 hat sich dieses Verhalten geändert, da durch den zusätzlichen API-Aufruf die Gefahr einer Drosselung bei der Skalierung großer Knoten besteht. Diese Änderung betrifft Sie nicht, wenn Sie verwaltete Knotengruppen ohne Startvorlage verwenden oder wenn Sie Karpenter verwenden. Weitere Informationen zucertificateAuthorityund Servicecidrfinden Sie unterDescribeClusterin der API-Referenz von Amazon EKS. -
Für AL2 023 wird
nodeadmauch das Format geändert, in dem Parameterkubeletfür jeden verwendeten Knoten angewendet werden.NodeConfigSpecIn AL2, das wurde mit dem --kubelet-extra-argsParameter gemacht. Dies wird häufig verwendet, um Knoten mit Beschriftungen und Taints zu versehen. Ein Beispiel unten zeigt die Anwendung vonmaxPodsund--node-labelsauf den Knoten.--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: test-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16 kubelet: config: maxPods: 110 flags: - --node-labels=karpenter.sh/capacity-type=on-demand,karpenter.sh/nodepool=test -
Amazon VPC CNI-Version
1.16.2oder höher ist für AL2 023 erforderlich. -
AL2023 erfordert standardmäßig.
IMDSv2IMDSv2hat mehrere Vorteile, die zur Verbesserung der Sicherheitslage beitragen. Das Programm verwendet eine sitzungsorientierte Authentifizierungsmethode, welche die Erstellung eines geheimen Tokens in einer einfachen HTTP-PUT-Anfrage zum Starten der Sitzung erfordert. Die Gültigkeitsdauer eines Sitzungs-Tokens kann zwischen 1 Sekunde und 6 Stunden variieren. Weitere Informationen zum Übergang vonIMDSv1zuIMDSv2finden Sie unter Umstellung auf Instance Metadata Service Version 2 und Nutzen Sie alle Vorteile IMDSv2 und deaktivieren Sie Ihre IMDSv1 gesamte AWS Infrastruktur. Wenn Sie IMDSv1verwenden möchten, können Sie dies dennoch tun, indem Sie die Einstellungen mithilfe der Starteigenschaften der Instance-Metadatenoption manuell überschreiben.Anmerkung
IMDSv2Bei Version AL2 023 kann die Standard-Hop-Anzahl für verwaltete Knotengruppen variieren:-
Wenn keine Startvorlage verwendet wird, ist der Standardwert auf
1eingestellt. Dies bedeutet, dass Container über IMDS keinen Zugriff auf die Anmeldeinformationen des Knotens haben. Wenn Sie Container-Zugriff auf die Anmeldeinformationen des Knotens benötigen, können Sie dies dennoch tun, indem Sie eine benutzerdefinierte EC2 Amazon-Startvorlage verwenden. -
Wenn Sie in einer Startvorlage ein benutzerdefiniertes AMI verwenden, wird das Standard-
HttpPutResponseHopLimitauf2gesetzt. Sie könnenHttpPutResponseHopLimitin der Startvorlage manuell überschreiben.
Alternativ können Sie anstelle von
IMDSv2Amazon EKS Pod Identity verwenden, um Anmeldeinformationen bereitzustellen. -
-
AL2023 bietet die nächste Generation einheitlicher Kontrollgruppenhierarchien (
cgroupv2).cgroupv2wird verwendet, um eine Container-Laufzeit zu implementieren, und vonsystemd. AL2023 enthält zwar immer noch Code, mit dem das System ausgeführt werden kanncgroupv1, dies ist jedoch keine empfohlene oder unterstützte Konfiguration. Diese Konfiguration wird in einer zukünftigen Hauptversion von Amazon Linux vollständig entfernt. -
eksctlVersion0.176.0oder höher ist erforderlich, umeksctlAL2 023 zu unterstützen.
Für bereits bestehende verwaltete Knotengruppen können Sie entweder ein direktes Upgrade oder ein blue/green Upgrade durchführen, je nachdem, wie Sie eine Startvorlage verwenden:
-
Wenn Sie ein benutzerdefiniertes AMI mit einer verwalteten Knotengruppe verwenden, können Sie ein direktes Upgrade durchführen, indem Sie die AMI-ID in der Startvorlage austauschen. Sie sollten sicherstellen, dass Ihre Anwendungen und alle Benutzerdaten zuerst auf AL2 023 übertragen werden, bevor Sie diese Upgrade-Strategie durchführen.
-
Wenn Sie verwaltete Knotengruppen entweder mit der Standardstartvorlage oder mit einer benutzerdefinierten Startvorlage verwenden, die die AMI-ID nicht angibt, müssen Sie das Upgrade mithilfe einer blue/green Strategie durchführen. Ein blue/green Upgrade ist in der Regel komplexer und beinhaltet die Erstellung einer völlig neuen Knotengruppe, für die Sie AL2 023 als AMI-Typ angeben würden. Die neue Knotengruppe muss anschließend sorgfältig konfiguriert werden, um sicherzustellen, dass alle benutzerdefinierten Daten aus der AL2 Knotengruppe mit dem neuen Betriebssystem kompatibel sind. Sobald die neue Knotengruppe mit Ihren Anwendungen getestet und validiert wurde, können Pods von der alten Knotengruppe auf die neue Knotengruppe migriert werden. Nach Abschluss der Migration können Sie die alte Knotengruppe löschen.
Wenn Sie Karpenter verwenden und AL2 023 verwenden möchten, müssen Sie das EC2NodeClass amiFamily Feld mit 023 ändern. AL2 Drift ist standardmäßig in Karpenter aktiviert. Dies bedeutet, dass Karpenter nach einer Änderung des amiFamily-Feldes Ihre Worker-Knoten automatisch auf die neueste AMI aktualisiert, sobald diese verfügbar ist.
Zusätzliche Informationen zu nodeadm
Wenn Sie ein EKS-optimiertes Amazon Linux 2023 AMI verwenden oder ein benutzerdefiniertes EKS Amazon Linux 2023 AMI mithilfe der im offiziellen amazon-eks-ami GitHub Repository bereitgestellten Packer-Skripts erstellen, sollten Sie es vermeiden, nodeadm init explizit in EC2 Benutzerdaten oder als Teil Ihres benutzerdefinierten AMI auszuführen.
Wenn Sie NodeConfig in Ihren Benutzerdaten Dynamik erzeugen möchten, können Sie diese Konfiguration in eine Drop-In-Yaml- oder JSON-Datei schreiben. /etc/eks/nodeadm.d Diese Konfigurationsdateien werden zusammengeführt und auf Ihren Knoten angewendet, wenn nodeadm init später im Startvorgang automatisch gestartet wird. Beispiel:
cat > /etc/eks/nodeadm.d/additional-node-labels.yaml << EOF
apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
kubelet:
flags:
- --node-labels=foo=bar
EOF
Das EKS-optimierte Amazon Linux 2023 führt nodeadm init AMIs automatisch in zwei Phasen über separate Systemd-Dienste aus: nodeadm-config wird vor der Ausführung der Benutzerdaten ausgeführt, während nodeadm-run danach ausgeführt wird. Der Dienst nodeadm-config richtet Basiskonfigurationen für containerd und kubelet ein, bevor Benutzerdaten ausgeführt werden. Der Dienst nodeadm-run führt ausgewählte System-Daemons aus und schließt alle endgültigen Konfigurationen nach der Ausführung der Benutzerdaten ab. Wenn der Befehl nodeadm init ein weiteres Mal über Benutzerdaten oder ein benutzerdefiniertes AMI ausgeführt wird, kann er Annahmen über die Reihenfolge der Ausführung widerlegen, was zu unerwarteten Ergebnissen, einschließlich Fehlkonfigurationen, führen kann. ENIs