Azure CNI IPAM-modus en gegevensvlaktechnologie bijwerken voor AKS-clusters (Azure Kubernetes Service)

Bestaande Azure Kubernetes Service (AKS)-clusters kunnen worden bijgewerkt naar nieuwere IPAM-modi (IPAM) en gegevensvlaktechnologieën voor toegang tot de nieuwste functies en ondersteuningsverbeteringen. In dit artikel worden twee onafhankelijke updates behandeld:

  • De IPAM-modus bijwerken naar Azure CNI-overlay. De IPAM-modus bepaalt hoe IP-adressen van pods worden toegewezen en gerouteerd (bijvoorbeeld van het subnet van het knooppunt, van een toegewezen podsubnet of van een overlaynetwerk).
  • Het gegevensvlak bijwerken naar Azure CNI Powered by Cilium. Het gegevensvlak is het in-clusteronderdeel dat pakketten daadwerkelijk doorstuurt en netwerkbeleid afdwingt op elk knooppunt.

Deze updates zijn afzonderlijke bewerkingen en hoeven niet samen te worden uitgevoerd. Het gegevensvlak Cilium wordt met name ondersteund op elke Azure CNI IPAM-modus, dus u hoeft niet eerst te migreren naar Azure CNI-overlay om Cilium te gebruiken.

Note

Het gegevensvlak bijwerken naar Azure CNI Powered by Cilium wijzigt de IPAM-modus van uw cluster niet. Het is geen migratie tussen Azure CNI-modi. Het is alleen een wissel van het onderliggende gegevensvlak. Een cluster dat bijvoorbeeld Azure CNI (Node Subnet) gebruikt, blijft na de update op Node Subnet; het enige dat verandert, is dat Cilium nu het dataplane aanstuurt. Hetzelfde geldt voor Azure CNI met dynamische IP-toewijzing en Azure CNI-overlayclusters.

Ondersteunde migratiepaden

Migratie van IPAM-modus

AKS ondersteunt één migratiepad voor IPAM, en dat is alleen voorwaarts. De IPAM-modus kan alleen worden gemigreerd naar Azure CNI-overlay en alleen vanuit de volgende modi:

  • Migreer een Azure CNI-cluster (Node Subnet) naar Azure CNI-overlay.
  • Migreer een Kubenet-cluster naar Azure CNI-overlay.

Het bijwerken van een cluster naar Azure CNI Overlay is een eenzijdige, onherstelbare bewerking. Nadat het cluster is bijgewerkt, kan het niet meer worden gemigreerd naar een netwerkmodus op basis van een knooppuntsubnet.

Gegevensvlakmigratie naar Azure CNI Powered by Cilium

De migratie van het Cilium-gegevensvlak wordt ondersteund vanuit elke Azure CNI IPAM-modus, waaronder:

  • Migreer een Azure CNI-cluster (Node Subnet) naar Azure CNI Powered by Cilium.
  • Migreer een Azure CNI-cluster met dynamic IP-toewijzing (Pod Subnet) naar Azure CNI Powered by Cilium.
  • Migreer een Azure CNI-overlaycluster naar Azure CNI Powered by Cilium.

Kubenet-clusters kunnen niet rechtstreeks worden gemigreerd naar het gegevensvlak Cilium. Ze moeten eerst migreren naar Azure CNI-overlay en vervolgens het gegevensvlak bijwerken naar Cilium als een afzonderlijke bewerking.

De IPAM-modus bijwerken naar Azure CNI-overlay

Het bijwerken van een bestaand cluster naar Azure CNI Overlay is een onherstelbaar proces.

U kunt een bestaand AKS-cluster bijwerken naar Azure CNI-overlay als het cluster:

Vóór Windows OS build 20348.1668 was er een beperking waardoor Windows-overlay-pods pakketten van hostnetwerkpods onjuist routeerden via SNAT (Source Network Address Translation). Deze beperking had een nadelig effect voor clusters die werden bijgewerkt naar Azure CNI-overlay. Gebruik Windows OS build 20348.1668 of hoger om dit probleem te voorkomen.

Waarschuwing

  • Als u een aangepaste azure-ip-masq-agent configuratie gebruikt om extra IP-bereiken op te nemen die geen SNAT-pakketten van pods mogen verzenden, kan het bijwerken naar Azure CNI-overlay de connectiviteit met deze bereiken verbreken. Pod-IP's van de overlayruimte zijn onbereikbaar voor alles buiten de clusterknooppunten.

  • Voor oude clusters kan een ConfigMap worden overgelaten van een eerdere versie van azure-ip-masq-agent. Als deze ConfigMap (benoemd azure-ip-masq-agent-config) bestaat en niet opzettelijk is ingesteld, moet u deze verwijderen voordat u deze bijwerkt.

  • Als u geen aangepaste ip-masq-agent configuratie gebruikt, moet alleen de azure-ip-masq-agent-config-reconciled ConfigMap bestaan met betrekking tot Azure ip-masq-agent ConfigMap. Deze wordt automatisch bijgewerkt tijdens het updateproces.

Tijdens het updateproces worden knopenpools tegelijkertijd opnieuw van een afbeelding voorzien. Het bijwerken van elke knooppuntgroep afzonderlijk naar Azure CNI Overlay wordt niet ondersteund. Eventuele onderbrekingen in clusternetwerken zijn vergelijkbaar met een update van een knooppuntimage of upgrade van de Kubernetes-versie, waarbij elk knooppunt in een knooppool opnieuw wordt geïmagogeerd.

Werk een bestaand CNI-cluster (Azure Container Networking Interface) bij om Azure CNI-overlay te gebruiken met behulp van de az aks update opdracht.

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

De --pod-cidr parameter is vereist wanneer u bijwerkt vanuit verouderde CNI-invoegtoepassingen, omdat de pods IP-adressen moeten ophalen uit een nieuwe overlayruimte. De nieuwe overlay-ruimte overlapt niet met de bestaande Azure CNI Node Subnet-plug-in.

Classless Inter-Domain Routing (CIDR) voor de pod mag ook niet overlappen met een virtueel netwerkadres van de knooppuntgroepen. Als het adres van uw virtuele netwerk bijvoorbeeld 10.0.0.0/8 is en uw knooppunten zich in het subnet 10.240.0.0/16 bevinden, kan de --pod-cidr parameter niet overlappen met 10.0.0.0/8 of de bestaande service-CIDR op het cluster.

Het gegevensvlak bijwerken naar Azure CNI Powered by Cilium

Azure CNI Powered by Cilium is de aanbevolen en ondersteunde langetermijnnetwerkconfiguratie voor AKS. Het combineert het Azure CNI-besturingsvlak met het Cilium-gegevensvlak om schaalbare netwerken en geavanceerde beveiligingsmogelijkheden te bieden.

Overwegingen bijwerken

  • U kunt het gegevensvlak bijwerken naar Azure CNI Powered by Cilium vanuit elke Azure CNI IPAM-modus (Node Subnet, dynamische IP-toewijzing of Overlay). U hoeft niet eerst naar Azure CNI-overlay te migreren.
  • De IPAM-modus en het gegevensvlak kunnen niet in één bewerking worden bijgewerkt. Als u van plan bent om zowel de IPAM-modus te migreren naar Azure CNI-overlay and het gegevensvlak naar Azure CNI Powered by Cilium, moet u deze in beide volgorde als twee afzonderlijke bewerkingen uitvoeren.
  • Kubenet-clusters kunnen het gegevensvlak niet rechtstreeks bijwerken naar Cilium. Migreer eerst de IPAM-modus naar Azure CNI-overlay en werk vervolgens het gegevensvlak bij.
  • Wanneer u Cilium inschakelt op een cluster dat gebruikmaakt van een andere netwerkbeleidsengine (Azure Network Policy Manager of Calico), wordt de bestaande engine verwijderd en vervangen door Cilium. Deze wijziging kan van invloed zijn op het gedrag van het netwerkbeleid. Zie Migreren van Network Policy Manager (NPM) naar Cilium Network Policy voor meer informatie.
  • Het bijwerken van het gegevensvlak naar Azure CNI Powered by Cilium wordt niet ondersteund op clusters met Windows knooppuntgroepen.
  • Clusters waarvoor automatisch inrichten van knooppunten (NAP) is ingeschakeld, kunnen niet worden bijgewerkt naar Azure CNI Powered by Cilium. Als tijdelijke oplossing schakelt u NAP uit vóór de update en schakelt u deze opnieuw in nadat de update is voltooid.

Waarschuwing

Tijdens het updateproces worden knopenpools tegelijkertijd opnieuw van een afbeelding voorzien. Het afzonderlijk bijwerken van elke knooppuntgroep wordt niet ondersteund. Eventuele onderbrekingen in de clusternetwerken zijn vergelijkbaar met een update van een knooppuntimage of Kubernetes-versie-upgrade waarbij elk knooppunt in een knooppuntgroep opnieuw geïmageerd wordt. Cilium begint het afdwingen van netwerkbeleid pas nadat alle knooppunten opnieuw zijn geimaged.

Als u de update wilt uitvoeren, hebt u Azure CLI versie 2.52.0 of hoger nodig. Voer deze az --version opdracht uit om de momenteel geïnstalleerde versie te zien. Raadpleeg Azure CLI installeren als u de Azure CLI moet installeren of upgraden.

Werk een bestaand cluster bij naar Azure CNI Powered by Cilium met behulp van de az aks update opdracht.

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