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. Minst en ytterligare nod för uppgraderingsåtgärder eller antalet noder som anges av alternativet Anpassa noduppgradering 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: Exempel för ett kluster med 50 noder: Exempel på ett kluster med 50 noder, som förbereder för att skala upp ytterligare 10 noder med den maximala standardökningen på 1 nod: 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 medaz 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 Portal: Ändra fältet
Max pods per node
i nodpoolsinställningarna 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
Azure Kubernetes Service