IP-adresplanning voor uw AKS-clusters (Azure Kubernetes Service)
Dit artikel bevat richtlijnen voor het plannen van IP-adressen voor AKS-clusters (Azure Kubernetes Service).
Zie de sectie volgende stappen voor koppelingen naar documentatie over invoegtoepassingen voor specifieke richtlijnen over ip-adresplanning voor afzonderlijke CNI-opties.
Grootte van subnet
Uw Azure VNet-subnet moet groot genoeg zijn voor uw cluster, afhankelijk van of u een overlaynetwerk of een plat netwerk gebruikt.
Overlaynetwerken
Met overlaynetwerken, zoals Azure CNI-overlay, moet uw subnet groot genoeg zijn om IP-adressen toe te wijzen aan uw knooppunten. Pods worden toegewezen IP-adressen uit een afzonderlijk, privé CIDR-bereik en vereisen geen VNet-IP's. Het VNet-subnet dat u voor uw cluster gebruikt, kan kleiner zijn dan met platte netwerken.
Het is belangrijk om ervoor te zorgen dat u voldoende ruimte toewijst in uw privé-CIDR-bereik voor uw pods om rekening te houden met schalen. Bij het plannen van uw IP-adresbereikgrootten moet u het maximumaantal pods berekenen. Aan elk knooppunt in uw cluster wordt een /24 -subnet (256 IP-adressen) voor pods toegewezen. U moet uw overlaynetwerksubnet plannen voor het maximale aantal knooppunten dat u verwacht uit te voeren.
Platte netwerken
Platte netwerken, zoals Azure CNI Pod Subnet, vereisen een groot genoeg subnet voor zowel knooppunten als pods. Omdat knooppunten en pods IP-adressen van uw VNet ontvangen, moet u plannen voor het maximum aantal knooppunten en pods dat u verwacht uit te voeren. Azure CNI Pod Subnet maakt gebruik van een subnet voor uw knooppunten en een afzonderlijk subnet voor uw pods, dus u moet beide plannen.
Grootte van IP-adres
Overwegingen voor upgraden en schalen
Bij het plannen van IP-adressen voor uw AKS-cluster moet u rekening houden met het aantal IP-adressen dat is vereist voor upgrade- en schaalbewerkingen. Als u het IP-adresbereik zo instelt dat alleen een vast aantal knooppunten wordt ondersteund, kunt u uw cluster niet upgraden of schalen.
Wanneer u uw AKS-cluster bijwerken , wordt er een nieuw knooppunt geïmplementeerd in het cluster. Services en workloads worden uitgevoerd op het nieuwe knooppunt en een ouder knooppunt wordt verwijderd uit het cluster. Voor dit rolling upgradeproces moet minimaal één extra blok IP-adressen beschikbaar zijn. Het aantal knooppunten is vervolgens n + 1
waar n
het aantal knooppunten in uw cluster is.
Wanneer u een AKS-cluster schaalt, wordt er een nieuw knooppunt geïmplementeerd in het cluster. Services en workloads worden uitgevoerd op het nieuwe knooppunt. Uw IP-adresbereik moet rekening houden met de wijze waarop u het aantal knooppunten en pods omhoog wilt schalen dat uw cluster kan ondersteunen. Minimaal één extra knooppunt voor upgradebewerkingen of het aantal knooppunten dat is ingesteld door de optie Knooppuntupgrade aanpassen moet ook worden opgenomen. Het aantal knooppunten is dan n + number-of-additional-scaled-nodes-you-anticipate + max surge
.
Als u azure CNI Pod Subnet gebruikt en verwacht dat uw knooppunten het maximum aantal pods uitvoeren en u regelmatig pods vernietigt en implementeert, moet u ook rekening houden met extra IP-adressen per knooppunt. Er kan enkele seconden latentie zijn vereist om een service te verwijderen en het IP-adres vrij te geven voordat een nieuwe service wordt geïmplementeerd en het adres wordt verkregen. De extra IP-adressen account voor deze mogelijkheid.
Het IP-adresplan voor een AKS-cluster bestaat uit een virtueel netwerk, ten minste één subnet voor knooppunten en pods en een Kubernetes-serviceadresbereik.
Azure-resource | Adresbereik | Limieten en grootte |
---|---|---|
Azure Virtual Network | Maximale grootte /8. 65.536 geconfigureerde IP-adreslimiet. Zie Statische bloktoewijzing voor azure CNI-podsubnet voor uitzonderingen | Overlappende adresruimten in uw netwerk kunnen problemen veroorzaken. |
Subnet | Moet groot genoeg zijn voor knooppunten, pods en alle Kubernetes- en Azure-resources in uw cluster. Als u bijvoorbeeld een interne Azure Load Balancer implementeert, worden de front-end-IP-adressen toegewezen vanuit het clustersubnet, niet openbare IP's. | Subnetgrootte moet ook rekening houden met upgradebewerkingen en toekomstige schaalbehoeften. Gebruik de volgende vergelijking om de minimale subnetgrootte te berekenen, inclusief een extra knooppunt voor upgradebewerkingen: Voorbeeld voor een cluster met 50 knooppunten: Voorbeeld voor een cluster met 50 knooppunten, waarbij u een extra 10 knooppunten wilt opschalen met de standaard maximale piek van 1 knooppunt: Als u geen maximum aantal pods per knooppunt opgeeft wanneer u uw cluster maakt, het maximum aantal pods per knooppunt is ingesteld op 30. Het minimale aantal vereiste IP-adressen is gebaseerd op die waarde. Als u uw minimale IP-adresvereisten voor een andere maximumwaarde berekent, raadpleegt u Maximumpods per knooppunt om deze waarde in te stellen wanneer u uw cluster implementeert. |
Kubernetes Service-adresbereik | Elk netwerkelement in of verbonden met dit virtuele netwerk mag dit bereik niet gebruiken. | De CIDR van het serviceadres moet kleiner zijn dan /12. U kunt dit bereik opnieuw gebruiken in verschillende AKS-clusters. |
IP-adres van Kubernetes DNS-service | IP-adres binnen het Kubernetes-serviceadresbereik dat wordt gebruikt door clusterservicedetectie. | Gebruik niet het eerste IP-adres in uw adresbereik. Het eerste adres in het subnetbereik wordt gebruikt voor het adres kubernetes.default.svc.cluster.local . |
Maximum aantal pods per knooppunt
Het maximum aantal pods per knooppunt in een AKS-cluster is 250. Het standaard maximum aantal pods per knooppunt varieert tussen kubenet - en Azure CNI-netwerken en de methode voor clusterimplementatie.
CNI | Standaard max. pods | Configureerbaar bij implementatie |
---|---|---|
Azure CNI-overlay | 250 | Ja (maximaal 250) |
Azure CNI Pod-subnet | 110 | Ja (maximaal 250) |
Azure CNI (verouderd) | 30 | Ja (maximaal 250) |
Kubenet | 110 | Ja (maximaal 250) |
Maximum aantal pods per knooppunt configureren voor uw clusters
U kunt het maximum aantal pods per knooppunt configureren tijdens de clusterimplementatie of wanneer u nieuwe knooppuntgroepen toevoegt. U kunt de maximale pods per knooppuntwaarde instellen tot 250.
Een minimumwaarde voor maximale pods per knooppunt wordt afgedwongen om ruimte te garanderen voor systeempods die essentieel zijn voor de clusterstatus. De minimumwaarde die kan worden ingesteld voor maximumpods per knooppunt is 10 als en alleen als de configuratie van elke knooppuntgroep ruimte heeft voor minimaal 30 pods. Als u bijvoorbeeld de maximumpods per knooppunt instelt op minimaal 10, moet elke afzonderlijke knooppuntgroep minimaal drie knooppunten hebben. Deze vereiste geldt ook voor elke nieuwe knooppuntgroep die is gemaakt. Als er dus 10 als maximumpods per knooppunt zijn gedefinieerd, moet elke volgende knooppuntgroep ten minste drie knooppunten bevatten.
Netwerken | Minimum | Maximum |
---|---|---|
Azure CNI | 10 | 250 |
Kubenet | 10 | 250 |
Notitie
De minimale waarde in de vorige tabel wordt strikt afgedwongen door de AKS-service. U kunt geen waarde instellen voor maxPods die lager zijn dan het minimum dat wordt weergegeven, omdat dit kan voorkomen dat het cluster wordt gestart.
Nieuwe clusters
U kunt maximumpods per knooppunt definiëren wanneer u een nieuw cluster maakt met een van de volgende methoden:
- Azure CLI: geef het
--max-pods
argument op wanneer u een cluster implementeert met deaz aks create
opdracht. - Azure Resource Manager-sjabloon: Geef de
maxPods
eigenschap op in het object [ManagedClusterAgentPoolProfile] wanneer u een cluster implementeert met een Azure Resource Manager-sjabloon. - Azure Portal: Wijzig het veld in de instellingen van de knooppuntgroep bij het
Max pods per node
maken van een cluster of het toevoegen van een nieuwe knooppuntgroep.
Bestaande clusters
U kunt maximumpods per knooppunt definiëren wanneer u een nieuwe knooppuntgroep maakt. Als u de maxPods-instelling op een bestaand cluster wilt verhogen, voegt u een nieuwe knooppuntgroep toe met het nieuwe gewenste aantal maxPods . Nadat u uw pods naar de nieuwe pool hebt gemigreerd, verwijdert u de oudere knooppuntgroep.
Volgende stappen
Azure Kubernetes Service