Azure CNI IPAM-Modus und die Datenebenentechnologie für Azure Kubernetes Service (AKS)-Cluster aktualisieren

Vorhandene Azure Kubernetes Service (AKS) Cluster können auf neuere IP-Adressverwaltungsmodi (IPAM) und Datenebenentechnologien aktualisiert werden, um auf die neuesten Features und Unterstützungsverbesserungen zuzugreifen. In diesem Artikel werden zwei unabhängige Updates behandelt:

  • Aktualisierung des IPAM-Modus zu Azure CNI Overlay. Der IPAM-Modus steuert, wie Pod-IP-Adressen zugewiesen und weitergeleitet werden (z. B. vom Knotensubnetz, von einem dedizierten Pod-Subnetz oder von einem Überlagerungsnetzwerk).
  • Aktualisieren der Datenebene auf Azure CNI mit Cilium-Unterstützung. Die Datenebene ist die In-Cluster-Komponente, die Pakete tatsächlich weiterleitet und netzwerkrichtlinien für jeden Knoten erzwingt.

Diese Updates sind separate Vorgänge und müssen nicht zusammen ausgeführt werden. Insbesondere wird die Cilium-Datenebene in jedem Azure CNI IPAM-Modus unterstützt, sodass Sie nicht zuerst zu Azure CNI Overlay migrieren müssen, um Cilium zu übernehmen.

Note

Die Aktualisierung der Datenebene auf Azure CNI Powered by Cilium ändert den IPAM-Modus Ihres Clusters nicht. Es handelt sich nicht um eine Migration zwischen Azure CNI-Modi. Es ist nur ein Tausch der zugrunde liegenden Datenebene. Beispielsweise verbleibt ein Cluster mit Azure CNI (Node Subnet) nach dem Update im Knotensubnetz. Das einzige, was sich ändert, ist, dass Cilium jetzt die Datenebene unterstützt. Gleiches gilt für Azure CNI mit dynamischer IP-Zuweisung und Azure CNI-Overlayclustern.

Unterstützte Migrationspfade

Migration des IPAM-Modus

AKS unterstützt nur einen IPAM-Migrationspfad in Vorwärtsrichtung. Der IPAM-Modus kann nur zu Azure CNI-Overlay migriert werden, und nur aus den folgenden Modi:

  • Migrieren Sie einen Azure CNI-Cluster (Knotensubnetz) zu Azure CNI Overlay.
  • Migrieren Sie einen Kubenet-Cluster zu Azure CNI-Overlay.

Das Aktualisieren eines Clusters auf azure CNI Overlay ist ein unidirektionaler, unumkehrbarer Vorgang. Nachdem der Cluster aktualisiert wurde, kann er nicht wieder in einen subnetzbasierten Knotennetzwerkmodus migriert werden.

Migration der Datenebene zu Azure CNI unterstützt von Cilium

Die Migration der Cilium-Datenebene wird von jedem Azure CNI IPAM-Modus unterstützt, einschließlich:

  • Migrieren Sie einen Azure CNI-Cluster (Node Subnet) zu Azure CNI powered by Cilium.
  • Migrieren Sie einen Azure CNI-Cluster mit dynamic IP allocation (Pod Subnet) zu Azure CNI powered by Cilium.
  • Migrieren Sie einen Azure CNI Overlay-Cluster zu Azure CNI powered by Cilium.

Kubenet-Cluster können nicht direkt zur Cilium-Datenebene migriert werden. Sie müssen zuerst zu Azure CNI Overlay migrieren und dann die Datenebene als separate Operation auf Cilium aktualisieren.

Aktualisieren Sie den IPAM-Modus auf Azure CNI Overlay

Das Aktualisieren eines vorhandenen Clusters auf Azure CNI Overlay ist ein unumkehrbarer Prozess.

Sie können einen vorhandenen AKS-Cluster auf Azure CNI Overlay aktualisieren, wenn der Cluster:

Vor dem Windows OS Build 20348.1668 gab es eine Einschränkung bezüglich Windows Overlay Pods, die Pakete von Host-Netzwerk-Pods über Source Network Address Translation (SNAT) falsch weiterleiteten. Diese Einschränkung wirkte sich negativ auf Cluster aus, die auf das Azure CNI-Overlay aktualisiert wurden. Um dieses Problem zu vermeiden, verwenden Sie Windows OS Build 20348.1668 oder höher.

Warnung

  • Wenn Sie eine benutzerdefinierte azure-ip-masq-agent Konfiguration verwenden, um zusätzliche IP-Bereiche einzuschließen, die keine SNAT-Pakete von Pods senden sollten, kann das Aktualisieren auf Azure CNI Overlay die Konnektivität zu diesen Bereichen unterbrechen. Pod-IPs aus dem Overlay-Netzwerk sind durch alles außerhalb der Clusterknoten nicht erreichbar.

  • Bei alten Clustern könnte eine ConfigMap von einer früheren Version von azure-ip-masq-agent übrig geblieben sein. Wenn diese ConfigMap (benannt azure-ip-masq-agent-config) vorhanden ist und nicht absichtlich vorhanden ist, sollten Sie sie vor der Aktualisierung löschen.

  • Wenn Sie keine benutzerdefinierte ip-masq-agent Konfiguration verwenden, sollte nur die azure-ip-masq-agent-config-reconciled ConfigMap in Bezug auf Azure ip-masq-agent ConfigMap vorhanden sein. Sie wird während des Aktualisierungsprozesses automatisch aktualisiert.

Der Aktualisierungsprozess veranlasst, dass Knotenpools gleichzeitig neu abgebildet werden. Das separate Aktualisieren jedes Knotenpools auf Azure CNI Overlay wird nicht unterstützt. Alle Unterbrechungen des Clusternetzwerks ähneln einem Knotenimageupdate oder Kubernetes-Versionsupgrade, bei dem jeder Knoten in einem Knotenpool neu abbildet wird.

Aktualisieren Sie einen vorhandenen Azure Container Networking Interface (CNI)-Cluster, um Azure CNI Overlay mithilfe des az aks update Befehls zu verwenden.

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-plugin azure \
  --network-plugin-mode overlay \
  --pod-cidr 192.168.0.0/16

Der --pod-cidr Parameter ist erforderlich, wenn Sie von älteren CNI-Plug-Ins aktualisieren, da die Pods IPs aus einem neuen Überlagerungsbereich abrufen müssen. Der neue Overlay-Bereich überschneidet sich nicht mit dem vorhandenen Azure CNI Node Subnetz-Plugin.

Klassenloses Inter-Domain Routing (CIDR) für die Pods darf sich auch nicht mit einer virtuellen Netzwerkadresse der Knotenpools überschneiden. Wenn ihre virtuelle Netzwerkadresse z. B. 10.0.0.0/8 lautet und sich Ihre Knoten im Subnetz 10.240.0.0/16 befinden, kann der --pod-cidr Parameter nicht mit 10.0.0.0.0/8 oder dem vorhandenen Dienst-CIDR im Cluster überlappen.

Datenebene auf Azure CNI Powered by Cilium aktualisieren

Azure CNI Powered by Cilium ist die empfohlene und unterstützte langfristige Netzwerkkonfiguration für AKS. Es kombiniert azure CNI-Steuerungsebene mit Cilium-Datenebene, um skalierbare Netzwerk- und erweiterte Sicherheitsfunktionen bereitzustellen.

Überlegungen zur Aktualisierung

  • Sie können die Datenebene aus jedem Azure CNI-IPAM-Modus (Node Subnet, dynamische IP-Zuweisung oder Overlay) auf Azure CNI Powered by Cilium aktualisieren. Sie müssen nicht zuerst zu Azure CNI-Overlay migrieren.
  • Der IPAM-Modus und die Datenebene können nicht in einem einzigen Vorgang aktualisiert werden. Wenn Sie beabsichtigen, sowohl den IPAM-Modus zu Azure CNI Overlay and die Datenebene zu Azure CNI Powered by Cilium zu migrieren, führen Sie diese als zwei separate Vorgänge in beliebiger Reihenfolge durch.
  • Kubenet-Cluster können die Datenebene nicht direkt auf Cilium aktualisieren. Migrieren Sie den IPAM-Modus zuerst zu Azure CNI Overlay, und aktualisieren Sie dann die Datenebene.
  • Wenn Sie Cilium auf einem Cluster aktivieren, das ein anderes Netzwerkrichtlinienmodul (Azure Network Policy Manager oder Calico) verwendet, wird das vorhandene Modul deinstalliert und durch Cilium ersetzt. Diese Änderung kann sich auf das Verhalten von Netzwerkrichtlinien auswirken. Weitere Informationen finden Sie unter Migrieren von Network Policy Manager (NPM) zu Cilium-Netzwerkrichtlinie.
  • Das Aktualisieren der Datenebene auf Azure CNI Powered by Cilium wird für Cluster mit Windows Knotenpools nicht unterstützt.
  • Cluster mit aktivierter Node Auto-Provisioning (NAP) können nicht auf Azure CNI aktualisiert werden, das von Cilium unterstützt wird. Deaktivieren Sie als Problemumgehung NAP vor dem Update, und aktivieren Sie es nach Abschluss des Updates erneut.

Warnung

Der Aktualisierungsprozess veranlasst, dass Knotenpools gleichzeitig neu abgebildet werden. Das separate Aktualisieren jedes Knotenpools wird nicht unterstützt. Alle Unterbrechungen des Clusternetzwerks ähneln einem Knotenimageupdate oder Kubernetes-Versionsupgrade , bei dem jeder Knoten in einem Knotenpool neu abbildet wird. Cilium beginnt erst damit, Netzwerkrichtlinien durchzusetzen, nachdem alle Knoten neu aufgesetzt wurden.

Zum Ausführen des Updates benötigen Sie Azure CLI, Version 2.52.0 oder höher. Führen Sie az --version aus, um die derzeit installierte Version anzuzeigen. Wenn Sie die Azure CLI installieren oder aktualisieren müssen, siehe Installieren der Azure CLI.

Aktualisieren Sie einen vorhandenen Cluster mithilfe des az aks update Befehls auf Azure CNI Powered by Cilium.

az aks update \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --network-dataplane cilium