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 unter, 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 am 26. November 2025 die Veröffentlichung von EKS-optimized Amazon Linux 2 (AL2) -AMIs eingestellt. AL2023- und Bottlerocket-basierte AMIs für Amazon EKS sind für alle unterstützten Kubernetes-Versionen verfügbar, einschließlich 1.33 und höher.
AL2023 ist ein Linux-based 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 gegenüber AL2 mehrere Verbesserungen. Einen vollständigen Vergleich finden Sie unter Vergleich von AL2 und Amazon Linux 2023 im Benutzerhandbuch zu Amazon Linux 2023. Zu AL2 wurden mehrere Pakete hinzugefügt, aktualisiert und entfernt. Es wird dringend empfohlen, Ihre Anwendungen vor dem Upgrade mit AL2023 zu testen. Eine Liste aller Paketänderungen in AL2023 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
nodeadm-Prozess zur Knoteninitialisierung ein, der ein YAML-Konfigurationsschema verwendet. Wenn Sie selbstverwaltete Knotengruppen oder eine Startvorlage verwenden, die eine benutzerdefinierte AMI-ID angibt, müssen Sie jetzt explizit zusätzliche Cluster-Metadaten angeben. Sie müssen diese Metadaten angeben, wenn Sie eine neue Knotengruppe erstellen. Ein Beispiel für die Mindestparameter von Nodeadmlautet wie folgt, wobei jetzt apiServerEndpoint,certificateAuthority, und service erforderlichcidrsind:--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16In AL2 wurden die Metadaten dieser Parameter über den
DescribeCluster-API-Aufruf von Amazon EKS ermittelt. Mit AL2023 hat sich dieses Verhalten geändert, da der zusätzliche API-Aufruf bei Knoten-Hochskalierungen zu Drosselungen führen kann. 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 AL2023 ändert
nodeadmauch das Format, um Parameter für jeden Knoten unter Verwendung vonNodeConfigSpecauf das kubeletanzuwenden. In AL2 wurde dies mit dem--kubelet-extra-args-Parameter erreicht. 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 -
Für AL2023 ist die Amazon-VPC-CNI-Version
1.16.2oder höher erforderlich. -
AL2023 erfordert standardmäßig
IMDSv2.IMDSv2bietet 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 die Verwendung von Instance Metadata Service Version 2 und Nutzen Sie alle Vorteile von IMDSv2 und deaktivieren Sie IMDSv1 in Ihrer gesamten Infrastruktur. AWSWenn Sie IMDSv1verwenden möchten, können Sie dies dennoch tun, indem Sie die Einstellungen mithilfe der Starteigenschaften der Instance-Metadatenoption manuell überschreiben.Anmerkung
Für
IMDSv2mit AL2023 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 weiterhin mithilfe einer benutzerdefinierten Amazon-EC2-Startvorlage tun. -
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 der einheitlichen Kontrollgruppen-Hierarchie (
cgroupv2).cgroupv2wird zur Implementierung einer Container-Laufzeit verwendet, und vonsystemd. Obwohl AL2023 weiterhin Code enthält, der das System mitcgroupv1ausführen kann, ist dies keine empfohlene oder unterstützte Konfiguration. Diese Konfiguration wird in einer zukünftigen Hauptversion von Amazon Linux vollständig entfernt. -
eksctl-Version0.176.0oder höher ist erforderlich, damiteksctlAL2023 unterstützt.
Für bereits bestehende verwaltete Knotengruppen können Sie entweder ein direktes Upgrade oder ein Upgrade durchführen, je nachdem, wie Sie eine blue/green 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. Stellen Sie sicher, dass Ihre Anwendungen und alle Benutzerdaten zunächst auf AL2023 übertragen werden, bevor Sie diese Upgrade-Strategie durchführen.
-
Wenn Sie verwaltete Knotengruppen entweder mit der Standardstartvorlage oder mit einer benutzerdefinierten Startvorlage verwenden, in der die AMI-ID nicht angegeben ist, müssen Sie das Upgrade anhand einer blue/green Strategie durchführen. Ein blue/green Upgrade ist in der Regel komplexer und beinhaltet das Erstellen einer völlig neuen Knotengruppe, in der Sie AL2023 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 AL2023 nutzen möchten, müssen Sie das Feld EC2NodeClass amiFamily mit AL2023 ändern. 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-optimized Amazon Linux 2023 AMI verwenden oder ein benutzerdefiniertes EKS Amazon Linux 2023 AMI mithilfe der Packer-Skripte erstellen, die im offiziellen GitHub amazon-eks-ami-Repository bereitgestellt werden, sollten Sie vermeiden, nodeadm init explizit in EC2-Benutzerdaten oder als Teil Ihres benutzerdefinierten AMI auszuführen.
Wenn Sie Dynamik NodeConfig in Ihren Benutzerdaten generieren 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
Die EKS-optimized Amazon Linux 2023-AMIs führen nodeadm init 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 nodeadm-config-Service erstellt Basiskonfigurationen für Containerd und Kubelet, bevor die Benutzerdaten ausgeführt werden. Der Dienst nodeadm-run führt ausgewählte Systemdaemons 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 dies die Annahmen über die Reihenfolge der Ausführung zunichte machen, was zu unerwarteten Ergebnissen führt, einschließlich falsch konfigurierter ENIs.