Uppdatera Azure CNI IPAM-läge och dataplansteknik för AKS-kluster (Azure Kubernetes Service)

Befintliga Azure Kubernetes Service (AKS) kluster kan uppdateras till nyare IP-adresshanteringslägen (IPAM) och dataplanstekniker för att få åtkomst till de senaste funktionerna och förbättringarna av supporten. Den här artikeln beskriver två oberoende uppdateringar:

  • Uppdaterar IPAM-läget till Azure CNI-överlägg. IPAM-läget styr hur podd-IP-adresser tilldelas och dirigeras (till exempel från nodundernätet, från ett dedikerat poddundernät eller från ett överläggsnätverk).
  • Uppdaterar dataplanet till Azure CNI som drivs av Cilium. Dataplanet är komponenten i klustret som faktiskt vidarebefordrar paket och tillämpar nätverksprincip på varje nod.

Dessa uppdateringar är separata åtgärder och behöver inte utföras tillsammans. I synnerhet stöds Cilium-dataplanet i alla Azure CNI IPAM-lägen, så du behöver inte migrera till Azure CNI Overlay först för att börja använda Cilium.

Note

Att uppdatera dataplanet till Azure CNI med stöd av Cilium ändrar inte klustrets IPAM-läge. Det är inte en migrering mellan Azure CNI-lägen. Det är bara ett byte av det underliggande dataplanet. Ett kluster som använder Azure CNI (Nodundernät) finns till exempel kvar på nodundernätet efter uppdateringen. Det enda som ändras är att Cilium nu driver dataplanet. Detsamma gäller för Azure CNI med dynamisk IP-allokering och Azure CNI Overlay-kluster.

Migreringsvägar som stöds

Migrering av IPAM-läge

AKS stöder endast en enda IPAM-migreringsväg i framåtriktning. IPAM-läget kan bara migreras till Azure CNI-överlägg och endast från följande lägen:

  • Migrera ett Azure CNI-kluster (Node Subnet) till Azure CNI Overlay.
  • Migrera ett Kubenet-kluster till Azure CNI-överlägg.

Att uppdatera ett kluster till Azure CNI Overlay är en enkelriktad, oåterkallelig åtgärd. När klustret har uppdaterats kan det inte migreras tillbaka till ett nodundernätbaserat nätverksläge.

Dataplansmigrering till Azure CNI som drivs av Cilium

Migreringen av Cilium-dataplanet stöds från alla Azure CNI IPAM-läge, inklusive:

  • Migrera ett Azure CNI-kluster (Node Subnet) till Azure CNI som drivs av Cilium.
  • Migrera ett Azure CNI-kluster med dynamisk IP-allokering (podundernät) till Azure CNI som drivs av Cilium.
  • Migrera ett Azure CNI-överläggskluster till Azure CNI som drivs av Cilium.

Kubenet-kluster kan inte migrera direkt till Cilium-dataplanet. De måste först migrera till Azure CNI-överlägg och sedan uppdatera dataplanet till Cilium som en separat åtgärd.

Uppdatera IPAM-läget till Azure CNI Overlay

Att uppdatera ett befintligt kluster till Azure CNI Overlay är en oåterkallelig process.

Du kan uppdatera ett befintligt AKS-kluster till Azure CNI Overlay om klustret:

Innan Windows OS build 20348.1668 fanns det en begränsning kring att Windows-överläggspoddar felaktigt dirigerade paket från värdnätverkspoddar via SNAT (Source Network Address Translation). Den här begränsningen hade en skadlig effekt för kluster som uppdaterades till Azure CNI Overlay. Undvik det här problemet genom att använda Windows OS build 20348.1668 eller senare.

Varning

  • Om du använder en anpassad azure-ip-masq-agent konfiguration för att inkludera ytterligare IP-intervall som inte ska skicka SNAT-paket från poddar kan uppdatering till Azure CNI Overlay bryta anslutningen till dessa intervall. Podd-IP-adresser från överläggsutrymmet kan inte nås av något utanför klusternoderna.

  • För gamla kluster kan en ConfigMap vara kvar från en tidigare version av azure-ip-masq-agent. Om den här ConfigMap (med namnet azure-ip-masq-agent-config) finns och inte är avsiktligt på plats bör du ta bort den innan du uppdaterar den.

  • Om du inte använder en anpassad ip-masq-agent konfiguration bör endast azure-ip-masq-agent-config-reconciled ConfigMap finnas med avseende på Azure ip-masq-agent ConfigMap. Den uppdateras automatiskt under uppdateringsprocessen.

Uppdateringsprocessen utlöser att nodpooler återskapas samtidigt. Uppdatering av varje nodpool separat till Azure CNI Overlay stöds inte. Eventuella störningar i klusternätverk liknar en uppdatering av nodavbildningen eller uppgraderingen av Kubernetes-versionen där varje nod i en nodpool återskapas.

Uppdatera ett befintligt CNI-kluster (Azure Container Networking Interface) för att använda Azure CNI Overlay med hjälp az aks update av kommandot .

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

Parametern --pod-cidr krävs när du uppdaterar från äldre CNI-plugin-program eftersom poddarna behöver hämta IP-adresser från ett nytt överläggsutrymme. Det nya överläggsutrymmet överlappar inte det befintliga plugin-programmet Azure CNI Node Subnet.

Klasslös Inter-Domain Routing (CIDR) för podden får inte överlappa med någon virtuell nätverksadress för nodpoolerna. Om din virtuella nätverksadress till exempel är 10.0.0.0/8 och noderna finns i undernätet 10.240.0.0/16 kan parametern --pod-cidr inte överlappa med 10.0.0.0/8 eller den befintliga tjänsten CIDR i klustret.

Uppdatera dataplanet till Azure CNI Som drivs av Cilium

Azure CNI Powered by Cilium är den rekommenderade och stödda långsiktiga nätverkskonfigurationen för AKS. Den kombinerar Azure CNI-kontrollplanet med Cilium-dataplanet för att leverera skalbara nätverk och avancerade säkerhetsfunktioner.

Uppdateringsöverväganden

  • Du kan uppdatera dataplanet till Azure CNI som drivs av Cilium från valfritt Azure CNI IPAM-läge (nodundernät, dynamisk IP-allokering eller överlägg). Du behöver inte migrera till Azure CNI Overlay först.
  • IPAM-läget och dataplanet kan inte uppdateras i en enda åtgärd. Om du planerar att migrera både IPAM-läget till Azure CNI Overlay och dataplanet till Azure CNI Powered by Cilium, utför dem som två separata åtgärder i valfri ordning.
  • Kubenet-kluster kan inte uppdatera dataplanet direkt till Cilium. Migrera IPAM-läget till Azure CNI Overlay först och uppdatera sedan dataplanet.
  • När du aktiverar Cilium i ett kluster som använder en annan nätverksprincipmotor (Azure Network Policy Manager eller Calico) avinstalleras och ersätts den befintliga motorn av Cilium. Den här ändringen kan påverka nätverksprincipbeteendet. Mer information finns i Migrera från Network Policy Manager (NPM) till Cilium Network Policy.
  • Uppdatering av dataplanet till Azure CNI som drivs av Cilium stöds inte i kluster med Windows nodpooler.
  • Kluster med nodbaserad automatisk etablering (NAP) aktiverad kan inte uppdateras till Azure CNI som drivs av Cilium. Som en lösning inaktiverar du NAP innan uppdateringen och återaktiverar den när uppdateringen har slutförts.

Varning

Uppdateringsprocessen utlöser att nodpooler återskapas samtidigt. Det går inte att uppdatera varje nodpool separat. Eventuella störningar i klusternätverk liknar en uppdatering av nodavbildningen eller uppgraderingen av Kubernetes-versionen där varje nod i en nodpool återskapas. Cilium börjar tillämpa nätverksprinciper först när alla noder har återskapats.

För att utföra uppdateringen behöver du Azure CLI version 2.52.0 eller senare. Kör az --version för att se den installerade versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Uppdatera ett befintligt kluster till Azure CNI som drivs av Cilium med hjälp av az aks update kommandot.

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