Uppgradera IPAM-lägen för Azure Kubernetes Service (AKS) och dataplansteknik
Eftersom det alltid finns nya IPAM-lägen (IP-tilldelningshantering) och dataplansteknik som stöder Azure Kubernetes Service (AKS) är det oundvikligt att gå igenom situationer där befintliga AKS-kluster behöver uppgradera till nyare IPAM-lägen och dataplansteknik för att få åtkomst till de senaste funktionerna och supporten. Den här artikeln innehåller vägledning om hur du uppgraderar ett befintligt AKS-kluster för att använda Azure CNI-överlägg för IPAM-läge och Azure CNI som drivs av Cilium som dataplan.
Uppgradera ett befintligt kluster till Azure CNI Overlay
Kommentar
Du kan uppdatera ett befintligt Azure CNI-kluster till Overlay om klustret uppfyller följande villkor:
- Klustret finns på Kubernetes version 1.22+.
- Använder inte funktionen för dynamisk podd-IP-allokering.
- Nätverksprinciper är inte aktiverade. Nätverksprincipmotorn kan avinstalleras före uppgraderingen, se Avinstallera Azure Network Policy Manager eller Calico.
- Använder inte några Windows-nodpooler med Docker som containerkörning.
Kommentar
Att uppgradera ett befintligt kluster till CNI Overlay är en icke-reversibel process.
Varning
Före Windows OS Build 20348.1668 fanns det en begränsning kring Windows Overlay-poddar som felaktigt SNATing-paket från värdnätverkspoddar, vilket hade en mer skadlig effekt för kluster som uppgraderade till Overlay. Undvik det här problemet genom att använda Windows OS Build som är större än eller lika med 20348.1668.
Varning
Om du använder en anpassad azure-ip-masq-agent-konfiguration för att inkludera ytterligare IP-intervall som inte ska SNAT-paket från poddar kan uppgradering 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 tillräckligt gamla kluster kan det dessutom finnas en ConfigMap 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 avsiktligt är på plats bör den tas bort innan du kör uppdateringskommandot.
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 ConfigMaps och detta uppdateras automatiskt under uppgraderingsprocessen.
Uppgraderingsprocessen utlöser att varje nodpool avbildas på nytt samtidigt. Det går inte att uppgradera varje nodpool separat till Overlay. Eventuella avbrott i klusternätverk liknar en uppgradering av nodavbildningen eller uppgradering av Kubernetes-versionen där varje nod i en nodpool avbildas på nytt.
Uppgradering av Azure CNI-kluster
Uppdatera ett befintligt Azure CNI-kluster för att använda Overlay med kommandot [az aks update
][az-aks-update].
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
Parametern --pod-cidr
krävs vid uppgradering från äldre CNI eftersom poddarna måste hämta IP-adresser från ett nytt överläggsutrymme, vilket inte överlappar det befintliga nodundernätet. Podd-CIDR kan inte heller överlappa med någon VNet-adress för nodpoolerna. Om din VNet-adress till exempel är 10.0.0.0/8 och noderna finns i undernätet 10.240.0.0/16, --pod-cidr
kan det inte överlappa med 10.0.0.0/8 eller den befintliga tjänsten CIDR i klustret.
Kubenet-klusteruppgradering
Uppdatera ett befintligt Kubenet-kluster för att använda Azure CNI Overlay med kommandot [az aks update
][az-aks-update].
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Eftersom klustret redan använder en privat CIDR för poddar som inte överlappar det virtuella nätverkets IP-utrymme behöver du inte ange parametern --pod-cidr
och Pod CIDR förblir densamma om parametern inte används.
Kommentar
När du uppgraderar från Kubenet till CNI Overlay krävs inte längre routningstabellen för poddroutning. Om klustret använder en kund tillhandahållen routningstabell tas de vägar som användes för att dirigera poddtrafik till rätt nod automatiskt bort under migreringsåtgärden. Om klustret använder en hanterad routningstabell (routningstabellen skapades av AKS och finns i nodresursgruppen) tas routningstabellen bort som en del av migreringen.
Uppgradera ett befintligt kluster till Azure CNI som drivs av Cilium
Kommentar
Du kan uppdatera ett befintligt kluster till Azure CNI Powered by Cilium om klustret uppfyller följande kriterier:
- Klustret använder antingen Azure CNI Overlay eller Azure CNI med dynamisk IP-allokering. Detta inkluderar inte Azure CNI.
- Klustret har inga Windows-nodpooler.
Kommentar
När du aktiverar Cilium i ett kluster med en annan nätverksprincipmotor (Azure NPM eller Calico) avinstalleras och ersätts nätverksprincipmotorn med Cilium. Mer information finns i Avinstallera Azure Network Policy Manager eller Calico .
Varning
Uppgraderingsprocessen utlöser att varje nodpool avbildas på nytt samtidigt. Det går inte att uppgradera varje nodpool separat. Eventuella avbrott i klusternätverk liknar en uppgradering av nodavbildningen eller uppgradering av Kubernetes-versionen där varje nod i en nodpool avbildas på nytt. Cilium börjar tillämpa nätverksprinciper först när alla noder har avbildats på nytt.
För att utföra uppgraderingen 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.
Använd följande kommando för att uppgradera ett befintligt kluster till Azure CNI Som drivs av Cilium. Ersätt värdena för <clusterName>
och <resourceGroupName>
:
az aks update --name <clusterName> --resource-group <resourceGroupName> \
--network-dataplane cilium
Azure Kubernetes Service