Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Upgrade von Amazon Linux 2 zu Amazon Linux 2023
Die für Amazon-EKS-optimierten AMIs sind in zwei Familien verfügbar, die auf AL2 und AL2023 basieren. AL2023 ist ein neues Linux-basiertes Betriebssystem, das eine sichere, stabile und leistungsstarke Umgebung für Ihre Cloud-Anwendungen bietet. 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 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/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 Übergang zur Verwendung von Instance Metadata Service Version 2 und Nutzung aller Vorteile von IMDSv2 und Deaktivierung von IMDSv1 in Ihrer gesamten 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
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 vorhandene verwaltete Knotengruppen können Sie je nach Verwendung einer Startvorlage entweder ein direktes Upgrade oder ein Blau/Grün-Upgrade durchführen:
-
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 mit der Standard-Startvorlage oder mit einer benutzerdefinierten Startvorlage verwenden, die keine AMI-ID angibt, müssen Sie das Upgrade mithilfe einer Blau/Grün-Strategie durchführen. Ein Blau/Grün-Upgrade ist in der Regel komplexer und erfordert die Erstellung einer vollständig 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.