Ändra storlek på nätverket
Det är viktigt att känna till antalet poddar och noder innan du kan avgöra hur många IP-adresser du behöver. Nu när du vet hur många poddar och noder som behövs ska vi titta på hur nätverket ska storleksanpassas.
Ändra storlek på det virtuella nätverkets undernät
Du vill ha högst sju virtuella datorer för Kubernetes-klusternoderna. Kom ihåg att en extra nod tillfälligt läggs till i Azure Kubernetes Service-kluster (AKS) under uppgraderingsprocessen. Därför måste du göra beräkningar av nätverksstorlek baserat på åtta virtuella datorer (VM).
Maximum 7 VMs + 1 VM for upgrades = 8 node IP addresses
Som standard konfigureras AKS-kluster med hjälp av plugin-programmet Azure Container Networking Interface (CNI) för att tillåta högst 30 poddar per nod. Det här värdet kan konfigureras till valfritt värde mellan 10 och 250 poddar. Nätverksstorleksberäkningen måste tillåta att det maximala antalet poddar distribueras.
8 VMs x 30 pods per node maximum = 240 pod IP addresses
Du behöver 8 IP-adresser för noder och 240 IP-adresser för poddar.
8 node IP addresses + 240 pod IP addresses = 248 IP addresses
Tips
Om du planerar att använda en intern Azure Load Balancer med klustret krävs även en IP-adress. Det är vanligt att använda ett dedikerat undernät för lastbalanserare, men om du planerar att använda samma undernät som noderna måste du ta hänsyn till det.
I den här designen bestämde du dig för att behålla standardkonfigurationen för nodpoolen. Standardkonfigurationen använder en enda systemlägesnodpool som kör allt. Om du vill se till att systemkomponenterna är isolerade från program behöver du minst två nodpooler. Du bör justera beräkningarna för IP-adressintervallet så att de tas med i beräkningen.
Nu kan du kontakta det team som ansvarar för nätverksallokering i din organisation och begära ett undernät som stöder 248 IP-adresser. När du skapar ett undernät i ett virtuellt Azure-nätverk är fem IP-adresser reserverade för systemanvändning. Ett /24-adressintervall skulle ha 251 användbara IP-adresser, vilket skulle göra det lämpligt för klustret.
Välja ett Kubernetes-tjänstadressintervall
När noden och poddundernätet har valts finns det bara ytterligare ett adressintervall att välja: adressintervallet för Kubernetes Service. Kubernetes Service tillhandahåller en statisk virtuell IP-adress som gör att trafik kan dirigeras till dina poddar. Det här adressintervallet används bara för att dirigera trafik i klustret. Adressintervallet används aldrig eller exponeras utanför klustret. Därför måste du välja ett adressintervall för privata nätverk som inte används någon annanstans i Azure eller dina lokala nätverk.
Tips
Eftersom Kubernetes-tjänstens adressintervall aldrig används utanför klustret går det att återanvända det här adressintervallet i flera kluster.
Reglerna för att välja ett tjänstadressintervall är:
- Intervallet kan inte ligga inom IP-adressintervallet för det virtuella nätverk som används för klustret.
- Intervallet kan inte ligga inom IP-adressintervallet för andra virtuella nätverk som är peer-kopplade till klusternätverket.
- Intervallet kan inte överlappa något IP-adressintervall som du använder i lokala nätverk.
- Intervallet kan inte finnas i IP-adressintervallen 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 eller 192.0.2.0/24.
Du behöver vanligtvis inte många IP-adresser för tjänster i ett kluster. Vanligtvis har du en tjänst framför en grupp poddar som kör flera repliker av ett program. I det här fallet har du åtta olika tjänster som bildar programmet, så du behöver bara åtta tjänst-IP-adresser.
Andra tjänster som körs i klustret, till exempel ingresskontroller eller tjänstenätverk, kan förbruka fler IP-adresser för tjänster. Det är bäst att ta hänsyn till extra utrymme för andra tjänster som du kan använda i framtiden. Det är vanligtvis en bra idé att använda ett generöst adressintervall. Ett /24-adressintervall ger gott om utrymme för klustret att arbeta med.
Välja en IP-adress för DNS-tjänsten
Kubernetes använder en inbyggd DNS-tjänst (Domain Name System) för att tillhandahålla funktioner för tjänstidentifiering i klustret. DNS-tjänsten behöver en IP-adress inom Kubernetes Service-adressintervallet. Du kan inte använda den första IP-adressen från Kubernetes Service-adressintervallet, men något annat värde är acceptabelt.
Nu har du all information du behöver för att distribuera klustret.