Freigeben über


Upgrade der IPAM-Modi und der Datenebenentechnologie von Azure Kubernetes Service (AKS)

Da es immer neue IP-Zuweisungsverwaltungsmodi (IPAM) und Datenebenentechnologien gibt, die Azure Kubernetes Service (AKS) unterstützen, müssen Situationen behandelt werden, in denen für vorhandene AKS-Cluster ein Upgrade auf neuere IPAM-Modi und Datenebenentechnologien erforderlich ist, um auf die neuesten Features und Unterstützungsmöglichkeiten zuzugreifen. Dieser Artikel enthält Anleitungen zum Upgrade eines vorhandenen AKS-Clusters, damit er die Azure CNI-Überlagerung als IPAM-Modus und Azure CNI von Cilium als Datenebene verwendet.

Upgrade eines vorhandenen Clusters auf die Azure CNI-Überlagerung

Hinweis

Sie können einen vorhandenen Azure CNI-Cluster auf Overlay aktualisieren, wenn der Cluster die folgenden Kriterien erfüllt:

  • Der Cluster basiert auf Kubernetes, Version 1.22 oder höher.
  • Er verwendet nicht das Feature „Dynamische Zuweisung der Pod-IP“.
  • Für den Cluster sind keine Netzwerkrichtlinien aktiviert. Das Netzwerkrichtlinienmodul kann vor dem Upgrade deinstalliert werden. Weitere Informationen finden Sie unter Deinstallieren von Azure-Netzwerkrichtlinien-Manager oder Calico.
  • Er darf keine Windows-Knotenpools mit Docker als Containerruntime verwenden.

Hinweis

Das Upgrade eines vorhandenen Clusters auf CNI Overlay kann nicht rückgängig gemacht werden.

Warnung

Vor dem Windows-Betriebssystembuild 20348.1668 gab es eine Einschränkung im Bereich der Windows-Überlagerungspods, die fälschlicherweise eine Quellnetzwerkadressübersetzung (SNATing) von Paketen von Hostnetzwerkpods durchführten, was sich nachteilig auf Cluster auswirkte, die auf die Overlay aktualisiert wurden. Um dieses Problem zu vermeiden, verwenden Sie Windows-Betriebssystembuild größer als oder gleich 20348.1668.

Warnung

Wenn Sie eine benutzerdefinierte Konfiguration für „azure-ip-masq-agent“ verwenden, um zusätzliche IP-Adressbereiche einzuschließen, die keine Pakete aus Pods per SNAT weiterleiten sollen, kann ein Upgrade auf Azure CNI Overlay die Konnektivität zu diesen Bereichen unterbrechen. Pod-IPs aus dem Überlagerungsbereich sind von außerhalb der Clusterknoten nicht zu erreichen. Darüber hinaus kann für genügend alte Cluster eine ConfigMap aus einer früheren Version von „azure-ip-masq-agent“ übrig bleiben. Wenn diese ConfigMap mit dem Namen azure-ip-masq-agent-config vorhanden ist und nicht absichtlich an Ort und Stelle ist, sollte sie vor dem Ausführen des Aktualisierungsbefehls gelöscht werden. Wenn keine benutzerdefinierte Konfiguration für „ip-masq-agent“ verwendet wird, sollte nur die ConfigMap azure-ip-masq-agent-config-reconciled in Bezug auf Azure-ConfigMaps vom Typ „ip-masq-agent“ vorhanden sein, und diese wird während des Upgradevorgangs automatisch aktualisiert.

Durch den Upgradeprozess wird gleichzeitig für jeden Knotenpool das Durchführen eines Reimagings ausgelöst. Ein separates Upgrade jedes Knotenpools auf Overlay wird nicht unterstützt. Alle Unterbrechungen des Clusternetzwerks ähneln einem Knotenimageupgrade oder einem Kubernetes-Versionsupgrade, bei dem für jeden Knoten in einem Knotenpool ein Reimaging durchgeführt wird.

Azure CNI-Clusterupgrade

Aktualisieren Sie einen vorhandenen Azure CNI-Cluster zur Verwendung der Überlagerung, indem Sie den Befehl [az aks update][az-aks-update] verwenden.

clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"

az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16

Der Parameter „--pod-cidr“ ist beim Upgrade von Legacy-CNI erforderlich, da die Pods IP-Adressen aus einem neuen Überlagerungsbereich abrufen müssen, der sich nicht mit dem vorhandenen Knotensubnetz überschneidet. Das Pod-CIDR darf auch nicht mit VNET-Adressen der Knotenpools überlappen. Wenn Ihre VNet-Adresse beispielsweise 10.0.0.0/8 lautet und sich Ihre Knoten im Subnetz 10.240.0.0/16 befinden, darf sich der --pod-cidr nicht mit 10.0.0.0/8 oder dem vorhandenen Dienst-CIDR im Cluster überschneiden.

Kubenet-Clusterupgrade

Aktualisieren Sie einen vorhandenen Kubenet-Cluster zur Verwendung der Azure CNI-Überlagerung, indem Sie den Befehl [az aks update][az-aks-update] verwenden.

clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"

az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay 

Da das Cluster bereits einen privaten CIDR für Pods verwendet, der nicht mit dem IP-Raum des VNet überlappt, müssen Sie den Parameter --pod-cidr nicht angeben, und der Pod-CIDR bleibt gleich wenn der Parameter nicht genutzt wird.

Hinweis

Beim Upgrade von Kubenet auf CNI Overlay ist die Routingtabelle für das Podrouting nicht mehr erforderlich. Wenn der Cluster eine vom Kunden bereitgestellte Routingtabelle verwendet, werden die Routen, die zum Weiterleiten des Poddatenverkehrs an den richtigen Knoten verwendet wurden, während des Migrationsvorgangs automatisch gelöscht. Wenn der Cluster eine verwaltete Routingtabelle verwendet (die Routingtabelle wurde von AKS erstellt und befindet sich in der Knotenressourcengruppe), wird diese Routingtabelle im Rahmen der Migration gelöscht.

Upgrade eines vorhandenen Clusters auf Azure CNI Powered by Cilium

Hinweis

Sie können einen vorhandenen Cluster auf Azure CNI Powered by Cilium aktualisieren, wenn der Cluster die folgenden Kriterien erfüllt:

Hinweis

Wenn Sie Cilium in einem Cluster mit einem anderen Netzwerkrichtlinienmodul (Azure NPM oder Calico) aktivieren, wird das Netzwerkrichtlinienmodul deinstalliert und durch Cilium ersetzt. Weitere Details finden Sie unter Deinstallieren von Azure Network Policy Manager oder Calico.

Warnung

Durch den Upgradeprozess wird gleichzeitig für jeden Knotenpool das Durchführen eines Reimagings ausgelöst. Ein separates Upgrade jedes Knotenpools wird nicht unterstützt. Alle Unterbrechungen des Clusternetzwerks ähneln einem Knotenimageupgrade oder einem Kubernetes-Versionsupgrade, bei dem für jeden Knoten in einem Knotenpool ein Reimaging durchgeführt wird. Cilium beginnt erst mit der Erzwingung von Netzwerkrichtlinien, nachdem alle Knoten neu imageiert wurden.

Zum Durchführen des Upgrades benötigen Sie die Azure CLI-Version 2.52.0 oder höher. Führen Sie az --version aus, um die derzeit installierte Version anzuzeigen. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Verwenden Sie den folgenden Befehl, um ein Upgrade eines vorhandenen Clusters auf Azure CNI Powered by Cilium durchzuführen. Ersetzen Sie die Werte für <clusterName> und <resourceGroupName>:

az aks update --name <clusterName> --resource-group <resourceGroupName> \
  --network-dataplane cilium