Knooppuntgroepen maken voor een cluster in Azure Kubernetes Service (AKS)
In Azure Kubernetes Service (AKS) worden knooppunten van dezelfde configuratie gegroepeerd in knooppuntgroepen. Deze knooppuntgroepen bevatten de onderliggende VM's waarop uw toepassingen worden uitgevoerd. Wanneer u een AKS-cluster maakt, definieert u het eerste aantal knooppunten en de bijbehorende grootte (SKU), waarmee een systeemknooppuntgroep wordt gemaakt.
Ter ondersteuning van toepassingen met verschillende reken- of opslagvereisten kunt u gebruikersknooppuntgroepen maken. Systeemknooppuntgroepen dienen het primaire doel van het hosten van kritieke systeempods, zoals CoreDNS en konnectivity
. Gebruikersknooppuntgroepen dienen het primaire doel van het hosten van uw toepassingspods. Gebruik bijvoorbeeld meer gebruikersknooppuntgroepen om GPU's te bieden voor rekenintensieve toepassingen of toegang tot SSD-opslag met hoge prestaties. Als u echter slechts één pool in uw AKS-cluster wilt hebben, kunt u toepassingspods plannen voor systeemknooppuntgroepen.
Notitie
Met deze functie hebt u meer controle over het maken en beheren van meerdere knooppuntgroepen en zijn afzonderlijke opdrachten vereist voor CRUD-bewerkingen (create/update/delete ). Voorheen waren clusterbewerkingen via az aks create
of az aks update
gebruikte de managedCluster-API de enige opties om uw besturingsvlak en één knooppuntgroep te wijzigen. Deze functie maakt een afzonderlijke bewerkingsset beschikbaar voor agentpools via de agentPool-API en vereist het gebruik van de opdrachtenset voor het az aks nodepool
uitvoeren van bewerkingen in een afzonderlijke knooppuntgroep.
In dit artikel leest u hoe u een of meer knooppuntgroepen in een AKS-cluster maakt.
Voordat u begint
- U moet Azure CLI versie 2.2.0 of hoger hebben geïnstalleerd en geconfigureerd. Voer
az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. - Bekijk opslagopties voor toepassingen in Azure Kubernetes Service om uw opslagconfiguratie te plannen.
Beperkingen
De volgende beperkingen gelden wanneer u AKS-clusters maakt die ondersteuning bieden voor meerdere knooppuntgroepen:
- Zie Quota, beperkingen voor grootte van virtuele machines en beschikbaarheid van regio's in Azure Kubernetes Service (AKS).
- U kunt de systeemknooppuntgroep verwijderen als u een andere systeemknooppuntgroep hebt die in het AKS-cluster moet worden geplaatst. Anders kunt u de systeemknooppuntgroep niet verwijderen.
- Systeemgroepen moeten ten minste één knooppunt bevatten en gebruikersknooppuntgroepen kunnen nul of meer knooppunten bevatten.
- Het AKS-cluster moet de Load Balancer standard SKU gebruiken om meerdere knooppuntgroepen te gebruiken. Deze functie wordt niet ondersteund met Basic SKU-load balancers.
- Het AKS-cluster moet virtuele-machineschaalsets voor de knooppunten gebruiken.
- De naam van een knooppuntgroep mag alleen alfanumerieke tekens in kleine letters bevatten en moet beginnen met een kleine letter.
- Voor Linux-knooppuntgroepen moet de lengte tussen 1 en 12 tekens lang zijn.
- Voor Windows-knooppuntgroepen moet de lengte tussen 1 en 6 tekens lang zijn.
- Alle knooppuntgroepen moeten zich in hetzelfde virtuele netwerk bevinden.
- Wanneer u tijdens het maken van clusters meerdere knooppuntgroepen maakt, moeten de Kubernetes-versies voor de knooppuntgroepen overeenkomen met de versie die is ingesteld voor het besturingsvlak.
Een AKS-cluster maken
Belangrijk
Als u één systeemknooppuntgroep uitvoert voor uw AKS-cluster in een productieomgeving, raden we u aan ten minste drie knooppunten voor de knooppuntgroep te gebruiken. Als één knooppunt uitvalt, verliest u resources van het besturingsvlak en is redundantie aangetast. U kunt dit risico beperken door meer besturingsvlakknooppunten te hebben.
Maak een Azure-resourcegroep met behulp van de
az group create
opdracht.az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
Maak een AKS-cluster met één knooppuntgroep met behulp van de
az aks create
opdracht.az aks create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CLUSTER_NAME \ --vm-set-type VirtualMachineScaleSets \ --node-count 2 \ --location $LOCATION \ --load-balancer-sku standard \ --generate-ssh-keys
Het duurt een paar minuten om het cluster te maken.
Wanneer het cluster klaar is, haalt u de clusterreferenties op met behulp van de
az aks get-credentials
opdracht.az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
Een knooppuntgroep toevoegen
Het cluster dat in de vorige stap is gemaakt, heeft één knooppuntgroep. In deze sectie voegen we een tweede knooppuntgroep toe aan het cluster.
Maak een nieuwe knooppuntgroep met behulp van de
az aks nodepool add
opdracht. In het volgende voorbeeld wordt een knooppuntgroep met de naam mynodepool gemaakt waarop drie knooppunten worden uitgevoerd:az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3
Controleer de status van uw knooppuntgroepen met behulp van de
az aks node pool list
opdracht en geef de resourcegroep en clusternaam op.az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
In de volgende voorbeelduitvoer ziet u dat mynodepool is gemaakt met drie knooppunten. Toen het AKS-cluster in de vorige stap is gemaakt, is er een standaardknooppuntpool1 gemaakt met een aantal knooppunten van 2.
[ { ... "count": 3, ... "name": "mynodepool", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... } ]
ARM64-knooppuntgroepen
De ARM64-processor biedt lage rekenkracht voor uw Kubernetes-workloads. Als u een ARM64-knooppuntgroep wilt maken, moet u een virtuele machine uit de Dpsv5-, Dplsv5 - of Epsv5-serie kiezen.
Beperkingen
- ARM64-knooppuntgroepen worden niet ondersteund op clusters met Defender-functionaliteit met Kubernetes-versie kleiner dan 1.29.0.
- FIPS-knooppuntgroepen worden niet ondersteund met ARM64-SKU's.
- Windows-knooppuntgroepen worden niet ondersteund met ARM64-SKU's.
Een ARM64-knooppuntgroep toevoegen
Voeg een ARM64-knooppuntgroep toe aan uw bestaande cluster met behulp van de
az aks nodepool add
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $ARM_NODE_POOL_NAME \ --node-count 3 \ --node-vm-size Standard_D2pds_v5
Azure Linux-knooppuntgroepen
De Azure Linux-containerhost voor AKS is een opensource Linux-distributie die beschikbaar is als AKS-containerhost. Het biedt hoge betrouwbaarheid, beveiliging en consistentie. Het omvat alleen de minimale set pakketten die nodig zijn voor het uitvoeren van containerworkloads, waardoor opstarttijden en algehele prestaties worden verbeterd.
Een Azure Linux-knooppuntgroep toevoegen
Voeg een Azure Linux-knooppuntgroep toe aan uw bestaande cluster met behulp van de
az aks nodepool add
opdracht en geef deze op--os-sku AzureLinux
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $AZ_LINUX_NODE_POOL_NAME \ --os-sku AzureLinux
Ubuntu-knooppunten migreren naar Azure Linux-knooppunten
U kunt uw bestaande Ubuntu-knooppunten migreren naar Azure Linux met behulp van een van de volgende methoden:
- Verwijder bestaande knooppuntgroepen en voeg nieuwe Azure Linux-knooppuntgroepen toe.
- In-place SKU-migratie van besturingssysteem.
Knooppuntgroepen met unieke subnetten
Voor een workload moeten clusterknooppunten mogelijk worden gesplitst in afzonderlijke pools voor logische isolatie. Afzonderlijke subnetten die zijn toegewezen aan elke knooppuntgroep in het cluster, kunnen deze isolatie ondersteunen, waardoor vereisten kunnen worden aangepakt, zoals het hebben van niet-aaneengesloten adresruimte voor het virtuele netwerk om te splitsen tussen knooppuntgroepen.
Notitie
Zorg ervoor dat u de Azure CLI-versie 2.35.0
of hoger gebruikt.
Beperkingen
- Alle subnetten die aan knooppuntgroepen zijn toegewezen, moeten deel uitmaken van hetzelfde virtuele netwerk.
- Systeempods moeten toegang hebben tot alle knooppunten en pods in het cluster om essentiële functionaliteit te bieden, zoals DNS-resolutie en tunneling kubectl logs/exec/port-forward proxy.
- Als u uw VNET uitvouwt nadat u het cluster hebt gemaakt, moet u het cluster bijwerken voordat u een subnet buiten het oorspronkelijke CIDR-blok toevoegt. Hoewel AKS-fouten in de agentgroep toevoegen, biedt de
aks-preview
Azure CLI-extensie (versie 0.5.66 en hoger) nu ondersteuning voor het uitvoerenaz aks update
van opdrachten met alleen de vereiste-g <resourceGroup> -n <clusterName>
argumenten. Met deze opdracht wordt een updatebewerking uitgevoerd zonder wijzigingen aan te brengen, waardoor een cluster kan worden hersteld dat is vastgelopen in een mislukte status. - In clusters met Kubernetes-versie kleiner dan 1.23.3, kan kube-proxy-SNATs-verkeer van nieuwe subnetten, waardoor Azure Network Policy de pakketten kan verwijderen.
- Windows-knooppunten SNAT-verkeer naar de nieuwe subnetten totdat de installatiekopie van de knooppuntgroep opnieuw is gemaakt.
- Interne load balancers zijn standaard ingesteld op een van de subnetten van de knooppuntgroep.
Een knooppuntgroep met een uniek subnet toevoegen
Voeg een knooppuntgroep met een uniek subnet toe aan uw bestaande cluster met behulp van de
az aks nodepool add
opdracht en geef de--vnet-subnet-id
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3 \ --vnet-subnet-id $SUBNET_RESOURCE_ID
FIPS-knooppuntgroepen
Zie Federal Information Process Standard (FIPS) inschakelen voor uw AKS-cluster voor meer informatie over het inschakelen van Federal Information Process Standard (FIPS) voor AKS-knooppuntgroepen (Azure Kubernetes Service).
Windows Server-knooppuntgroepen met containerd
Vanaf Kubernetes versie 1.20 en hoger kunt u opgeven containerd
als containerruntime voor Windows Server 2019-knooppuntgroepen. Vanaf Kubernetes 1.23 containerd
is dit de standaard en enige containerruntime voor Windows.
Belangrijk
Bij gebruik containerd
met Windows Server 2019-knooppuntgroepen:
- Zowel het besturingsvlak als windows Server 2019-knooppuntgroepen moeten Kubernetes versie 1.20 of hoger gebruiken.
- Wanneer u een knooppuntgroep maakt of bijwerkt om Windows Server-containers uit te voeren, is de standaardwaarde
--node-vm-size
voor Standard_D2s_v3. Dit is een minimale aanbevolen grootte voor Windows Server 2019-knooppuntgroepen vóór Kubernetes versie 1.20. De minimale aanbevolen grootte voor Windows Server 2019-knooppuntgroepen die worden gebruiktcontainerd
, is Standard_D4s_v3. Wanneer u de--node-vm-size
parameter instelt, controleert u de lijst met beperkte VM-grootten. - We raden u aan taints of labels te gebruiken met uw Windows Server 2019-knooppuntgroepen die worden uitgevoerd
containerd
en toleranties of knooppuntselectors met uw implementaties om ervoor te zorgen dat uw workloads correct worden gepland.
Een Windows Server-knooppuntgroep toevoegen met containerd
Voeg een Windows Server-knooppuntgroep toe aan
containerd
uw bestaande cluster met behulp van deaz aks nodepool add
.Notitie
Als u de
WindowsContainerRuntime=containerd
aangepaste header niet opgeeft, wordt de knooppuntgroep standaard nog steeds gebruiktcontainerd
als containerruntime.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --os-type Windows \ --name $CONTAINER_D_NODE_POOL_NAME \ --node-vm-size Standard_D4s_v3 \ --kubernetes-version 1.20.5 \ --aks-custom-headers WindowsContainerRuntime=containerd \ --node-count 1
Een specifieke bestaande Windows Server-knooppuntgroep upgraden naar containerd
Voer een upgrade uit van een specifieke knooppuntgroep van Docker naar
containerd
deaz aks nodepool upgrade
opdracht.az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $CONTAINER_D_NODE_POOL_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Alle bestaande Windows Server-knooppuntgroepen upgraden naar containerd
Upgrade alle knooppuntgroepen van Docker naar
containerd
het gebruik van deaz aks nodepool upgrade
opdracht.az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Knooppuntgroepen met tijdelijke besturingssysteemschijven
Voeg een knooppuntgroep toe die tijdelijke besturingssysteemschijven gebruikt voor een bestaand cluster met behulp van de
az aks nodepool add
opdracht waarop de--node-osdisk-type
vlag is ingesteldEphemeral
.Notitie
- U kunt tijdelijke besturingssysteemschijven opgeven tijdens het maken van het cluster met behulp van de
--node-osdisk-type
vlag met deaz aks create
opdracht. - Als u knooppuntgroepen wilt maken met besturingssysteemschijven die zijn gekoppeld aan het netwerk, kunt u dit doen door op te
--node-osdisk-type Managed
geven.
az aks nodepool add --name $EPHEMERAL_NODE_POOL_NAME --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME -s Standard_DS3_v2 --node-osdisk-type Ephemeral
- U kunt tijdelijke besturingssysteemschijven opgeven tijdens het maken van het cluster met behulp van de
Belangrijk
Met kortstondige besturingssystemen kunt u VM's en exemplaarinstallatiekopieën implementeren tot de grootte van de VM-cache. De standaardconfiguratie van de besturingssysteemschijf van het knooppunt in AKS maakt gebruik van 128 GB, wat betekent dat u een VM-grootte nodig hebt met een cache die groter is dan 128 GB. De standaard Standard_DS2_v2 heeft een cachegrootte van 86 GB, die niet groot genoeg is. De Standard_DS3_v2 VM-SKU heeft een cachegrootte van 172 GB, die groot genoeg is. U kunt ook de standaardgrootte van de besturingssysteemschijf verkleinen met behulp --node-osdisk-size
van, maar houd er rekening mee dat de minimale grootte voor AKS-installatiekopieën 30 GB is.
Een knooppuntgroep verwijderen
Als u een knooppuntgroep niet meer nodig hebt, kunt u deze verwijderen en de onderliggende VM-knooppunten verwijderen.
Let op
Wanneer u een knooppuntgroep verwijdert, voert AKS geen cordon en drain uit en zijn er geen herstelopties voor gegevensverlies die kunnen optreden wanneer u een knooppuntgroep verwijdert. Als pods niet kunnen worden gepland in andere knooppuntgroepen, zijn deze toepassingen niet meer beschikbaar. Zorg ervoor dat u een knooppuntgroep niet verwijdert wanneer toepassingen die in gebruik zijn geen gegevensback-ups hebben of de mogelijkheid hebben om uit te voeren op andere knooppuntgroepen in uw cluster. Als u de onderbreking van het opnieuw plannen van pods die momenteel worden uitgevoerd op de knooppuntgroep die u wilt verwijderen wilt minimaliseren, moet u een cordon uitvoeren en leegmaken op alle knooppunten in de knooppuntgroep voordat u deze verwijdert.
Verwijder een knooppuntgroep met behulp van de
az aks nodepool delete
opdracht en geef de naam van de knooppuntgroep op.az aks nodepool delete --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --no-wait
Het duurt enkele minuten om de knooppunten en de knooppuntgroep te verwijderen.
Volgende stappen
In dit artikel hebt u geleerd hoe u meerdere knooppuntgroepen maakt in een AKS-cluster. Zie Meerdere knooppuntgroepen beheren voor een cluster in Azure Kubernetes Service (AKS) voor meer informatie over het beheren van meerdere knooppuntgroepen.
Azure Kubernetes Service