Dela via


IP-adressplanering för dina AKS-kluster (Azure Kubernetes Service)

Den här artikeln innehåller vägledning om IP-adressplanering för AKS-kluster (Azure Kubernetes Service).

Specifik vägledning om IP-adressplanering för enskilda CNI-alternativ finns i avsnittet nästa steg för länkar till dokumentation om plugin-program.

Storlek på undernät

Ditt Azure VNet-undernät måste vara tillräckligt stort för att rymma klustret, vilket beror på om du använder ett överläggsnätverk eller ett platt nätverk.

Överläggsnätverk

Med överläggsnätverk, till exempel Azure CNI Overlay, måste ditt undernät vara tillräckligt stort för att tilldela IP-adresser till dina noder. Poddar tilldelas IP-adresser från ett separat, privat CIDR-intervall och kräver inte virtuella nätverks-IP-adresser. Det VNet-undernät som du använder för klustret kan vara mindre än med platta nätverk.

Det är viktigt att se till att du allokerar tillräckligt med utrymme i ditt privata CIDR-intervall för dina poddar för att ta hänsyn till skalning. När du planerar storlekarna för IP-adressintervallet bör du beräkna det maximala antalet poddar. Varje nod i klustret tilldelas ett /24-undernät (256 IP-adresser) för poddar. Du bör planera ditt nätverksundernät för överlägg för att hantera det maximala antalet noder som du förväntar dig att köra.

Platta nätverk

Platta nätverk, som Azure CNI Pod Subnet, kräver ett tillräckligt stort undernät för både noder och poddar. Eftersom noder och poddar tar emot IP-adresser från ditt virtuella nätverk måste du planera för det maximala antalet noder och poddar som du förväntar dig att köra. Azure CNI Pod Subnet använder ett undernät för dina noder och ett separat undernät för dina poddar, så du måste planera för båda.

Storleksändring av IP-adress

Överväganden för uppgradering och skalning

När DU planerar IP-adresser för ditt AKS-kluster bör du överväga det antal IP-adresser som krävs för uppgraderings- och skalningsåtgärder. Om du anger ATT IP-adressintervallet endast stöder ett fast antal noder kan du inte uppgradera eller skala klustret.

När du uppgraderar AKS-klustret distribueras en ny nod i klustret. Tjänster och arbetsbelastningar börjar köras på den nya noden och en äldre nod tas bort från klustret. Den här löpande uppgraderingsprocessen kräver att minst ett ytterligare block med IP-adresser är tillgängligt. Antalet noder är då n + 1 det antal n noder som finns i klustret.

När du skalar ett AKS-kluster distribueras en ny nod i klustret. Tjänster och arbetsbelastningar börjar köras på den nya noden. Ditt IP-adressintervall måste ta hänsyn till hur du vill skala upp antalet noder och poddar som klustret kan stödja. Ytterligare en nod för uppgraderingsåtgärder bör också inkluderas. Antalet noder är sedan n + number-of-additional-scaled-nodes-you-anticipate + max surge.

Om du använder Azure CNI Pod Subnet och du förväntar dig att noderna ska köra det maximala antalet poddar och du regelbundet förstör och distribuerar poddar bör du även ta hänsyn till extra IP-adresser per nod. Det kan ta några sekunder att ta bort en tjänst och släppa dess IP-adress för att en ny tjänst ska distribueras och hämta adressen. De extra IP-adresserna står för den här möjligheten.

IP-adressplanen för ett AKS-kluster består av ett virtuellt nätverk, minst ett undernät för noder och poddar och ett Kubernetes-tjänstadressintervall.

Azure-resurs Adressintervall Gränser och storlek
Azure Virtual Network Maxstorlek /8. 65 536 konfigurerad IP-adressgräns. Se Azure CNI Pod Subnet Static Block Allocation (Statisk blockallokering för Azure CNI-poddar) för undantag Överlappande adressutrymmen i nätverket kan orsaka problem.
Undernät Måste vara tillräckligt stort för att rymma noder, poddar och alla Kubernetes- och Azure-resurser i klustret. Om du till exempel distribuerar en intern Azure Load Balancer allokeras dess klientdels-IP-adresser från klustrets undernät, inte offentliga IP-adresser. Undernätets storlek bör också ta hänsyn till uppgraderingsåtgärder och framtida skalningsbehov.

Använd följande ekvation för att beräkna den minsta undernätsstorleken, inklusive en extra nod för uppgraderingsåtgärder: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

Exempel för ett kluster med 50 noder: (51) + (51 * 30 (default)) = 1,581 (/21 eller större)

Exempel på ett kluster med 50 noder, förbereder för att skala upp ytterligare 10 noder: (61) + (61 * 30 (default)) = 1,891 (/21 eller större)

Om du inte anger ett maximalt antal poddar per nod när du skapar klustret, det maximala antalet poddar per nod är inställt på 30. Det minsta antalet IP-adresser som krävs baseras på detta värde. Om du beräknar dina lägsta IP-adresskrav på ett annat högsta värde läser du Maximalt antal poddar per nod för att ange det här värdet när du distribuerar klustret.

Kubernetes Service-adressintervall Alla nätverkselement på eller anslutna till det här virtuella nätverket får inte använda det här intervallet. Tjänstadressens CIDR måste vara mindre än /12. Du kan återanvända det här intervallet i olika AKS-kluster.
Ip-adress för Kubernetes DNS-tjänst IP-adress inom Kubernetes-tjänstens adressintervall som används av klustertjänstidentifiering. Använd inte den första IP-adressen i adressintervallet. Den första adressen i undernätsintervallet används för adressen kubernetes.default.svc.cluster.local .

Maximalt antal poddar per nod

Det maximala antalet poddar per nod i ett AKS-kluster är 250. Det maximala standardantalet poddar per nod varierar mellan kubenet - och Azure CNI-nätverk och metoden för klusterdistribution.

CNI Maximalt antal poddar som är standard Kan konfigureras vid distribution
Azure CNI-överlägg 250 Ja (upp till 250)
Azure CNI Pod-undernät 110 Ja (upp till 250)
Azure CNI (äldre) 30 Ja (upp till 250)
Kubenet 110 Ja (upp till 250)

Konfigurera maximalt antal poddar per nod för dina kluster

Du kan konfigurera det maximala antalet poddar per nod antingen vid klusterdistributionstidpunkten eller när du lägger till nya nodpooler. Du kan ange maximalt poddar per nodvärde så högt som 250.

Ett minsta värde för maximalt antal poddar per nod tillämpas för att garantera utrymme för systempoddar som är kritiska för klustrets hälsa. Det minsta värde som kan anges för maximalt antal poddar per nod är 10 om och endast om konfigurationen av varje nodpool har utrymme för minst 30 poddar. Om du till exempel anger maximalt antal poddar per nod till minst 10 måste varje enskild nodpool ha minst tre noder. Det här kravet gäller även för varje ny nodpool som skapas, så om 10 definieras som maximala poddar per nod måste varje efterföljande nodpool som läggs till ha minst tre noder.

Nätverk Minimum Maximum
Azure CNI 10 250
Kubenet 10 250

Kommentar

Minimivärdet i föregående tabell tillämpas strikt av AKS-tjänsten. Du kan inte ange ett värde för maxPods som är lägre än det minsta som visas, eftersom det kan hindra klustret från att starta.

Nya kluster

Du kan definiera maximalt antal poddar per nod när du skapar ett nytt kluster med någon av följande metoder:

  • Azure CLI: Ange --max-pods argumentet när du distribuerar ett kluster med az aks create kommandot .
  • Azure Resource Manager-mall: Ange maxPods egenskapen i objektet [ManagedClusterAgentPoolProfile] när du distribuerar ett kluster med en Azure Resource Manager-mall.
  • Azure-portalen: Ändra fältet Max pods per node i inställningarna för nodpoolen när du skapar ett kluster eller lägger till en ny nodpool.

Befintliga kluster

Du kan definiera maximalt antal poddar per nod när du skapar en ny nodpool. Om du behöver öka maxPods-inställningen i ett befintligt kluster lägger du till en ny nodpool med det nya önskade maxPods-antalet . När du har migrerat dina poddar till den nya poolen tar du bort den äldre nodens pool.

Nästa steg