Labels gebruiken in een AKS-cluster (Azure Kubernetes Service)
Als u meerdere knooppuntgroepen hebt, kunt u een label toevoegen tijdens het maken van een knooppuntgroep. Kubernetes-labels verwerken de planningsregels voor knooppunten. U kunt labels op elk gewenst moment toevoegen aan een knooppuntgroep en deze toepassen op alle knooppunten in de knooppuntgroep.
In deze handleiding leert u hoe u labels gebruikt in een AKS-cluster (Azure Kubernetes Service).
Vereisten
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.
Een AKS-cluster met een label maken
Maak een AKS-cluster met een label met behulp van de
az aks create
opdracht en geef de--node-labels
parameter op om uw labels in te stellen. Labels moeten een sleutel-waardepaar zijn en een geldige syntaxis hebben.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 2 \ --nodepool-labels dept=IT costcenter=9000 \ --generate-ssh-keys
Controleer of de labels zijn ingesteld met behulp van de
kubectl get nodes --show-labels
opdracht.kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
Een knooppuntgroep met een label maken
Maak een knooppuntgroep met een label met behulp van de
az aks nodepool add
opdracht en geef een naam op voor de--name
parameters en labels voor de--labels
parameter. Labels moeten een sleutel/waardepaar zijn en een geldige syntaxis hebbenMet de volgende voorbeeldopdracht maakt u een knooppuntgroep met de naam labelnp met de labels dept=HR en costcenter=5000.
az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --node-count 1 \ --labels dept=HR costcenter=5000 \ --no-wait
In de volgende voorbeelduitvoer van de
az aks nodepool list
opdracht ziet u dat de labelnp-knooppuntgroep knooppunten maakt met de opgegeven nodeLabels:[ { ... "count": 1, ... "name": "labelnp", "orchestratorVersion": "1.15.7", ... "provisioningState": "Creating", ... "nodeLabels": { "costcenter": "5000", "dept": "HR" }, ... }, ... ]
Controleer of de labels zijn ingesteld met behulp van de
kubectl get nodes --show-labels
opdracht.kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
Labels voor bestaande knooppuntgroepen bijwerken
Werk een label bij in een bestaande knooppuntgroep met behulp van de
az aks nodepool update
opdracht. Als u labels in bestaande knooppuntgroepen bijwerkt, worden de oude labels overschreven met de nieuwe labels. Labels moeten een sleutel-waardepaar zijn en een geldige syntaxis hebben.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --labels dept=ACCT costcenter=6000 \ --no-wait
Controleer of de labels zijn ingesteld met behulp van de
kubectl get nodes --show-labels
opdracht.kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
Niet-beschikbare labels
Gereserveerde systeemlabels
Sinds de AKS-release van 2021-08-19 heeft AKS de mogelijkheid om wijzigingen aan te brengen in gereserveerde AKS-labels gestopt. Als u deze labels probeert te wijzigen, wordt er een foutbericht weergegeven.
De volgende labels zijn gereserveerde AKS-labels. Het gebruik van virtuele knooppunten geeft aan of deze labels een ondersteunde systeemfunctie op virtuele knooppunten kunnen zijn. Sommige eigenschappen die door deze systeemfuncties worden gewijzigd, zijn niet beschikbaar op de virtuele knooppunten omdat ze de host moeten wijzigen.
Etiket | Weergegeven als | Voorbeeld/opties | Gebruik van virtuele knooppunten |
---|---|---|---|
kubernetes.azure.com/agentpool | <naam van agentpool> | nodepool1 | Zelfde |
kubernetes.io/arch | amd64 | Runtime. GOARCH | N.v.t. |
kubernetes.io/os | <Type besturingssysteem> | Linux/Windows | Zelfde |
node.kubernetes.io/instance-type | <VM-grootte> | Standard_NC6s_v3 | Virtueel |
topology.kubernetes.io/region | <Azure-regio> | westus2 | Zelfde |
topology.kubernetes.io/zone | <Azure-zone> | 0 | Zelfde |
kubernetes.azure.com/cluster | <MC_RgName> | MC_aks_myAKSCluster_westus2 | Zelfde |
kubernetes.azure.com/mode | <modus> | Gebruiker of systeem | User |
kubernetes.azure.com/role | agent | Agent | Zelfde |
kubernetes.azure.com/scalesetpriority | <VMSS-prioriteit> | Spot of normaal | N.v.t. |
kubernetes.io/hostname | <hostnaam> | aks-nodepool-00000000-vmss0000000 | Zelfde |
kubernetes.azure.com/storageprofile | <Opslagprofiel voor besturingssysteemschijven> | Beheerd | N.v.t. |
kubernetes.azure.com/storagetier | <Opslaglaag voor besturingssysteemschijven> | Premium_LRS | N.v.t. |
kubernetes.azure.com/instance-sku | <SKU-familie> | Standard_N | Virtueel |
kubernetes.azure.com/node-image-version | <VHD-versie> | AKSHd-1804-2020.03.05 | Versie van virtueel knooppunt |
kubernetes.azure.com/subnet | <subnetnaam van nodepool> | subnetName | Naam van subnet van virtueel knooppunt |
kubernetes.azure.com/vnet | <naam van knooppuntpool vnet> | vnetName | Virtueel knooppunt virtueel netwerk |
kubernetes.azure.com/ppg | <naam nodepool ppg> | ppgName | N.v.t. |
kubernetes.azure.com/encrypted-set | <naam van versleutelde knooppuntpool> | versleutelde set-naam | N.v.t. |
kubernetes.azure.com/accelerator | <gaspedaal> | nvidia | N.v.t. |
kubernetes.azure.com/fips_enabled | <Is fips ingeschakeld?> | true | N.v.t. |
kubernetes.azure.com/os-sku | <os/sku> | Besturingssysteem-SKU maken of bijwerken | Linux |
- Hetzelfde is opgenomen op plaatsen waar de verwachte waarden voor de labels niet verschillen tussen een standaardknooppuntgroep en een virtuele knooppuntgroep. Omdat virtuele knooppuntpods geen onderliggende virtuele machine (VM) beschikbaar maken, worden de WAARDEN van de VM-SKU vervangen door de virtuele SKU.
- De versie van het virtuele knooppunt verwijst naar de huidige versie van de virtuele Kubelet-ACI-connectorrelease.
- De naam van het subnet van het virtuele knooppunt is de naam van het subnet waarin virtuele knooppuntpods worden geïmplementeerd in Azure Container Instance (ACI).
- Virtueel knooppunt virtueel netwerk is de naam van het virtuele netwerk, dat het subnet bevat waarin virtuele knooppuntpods worden geïmplementeerd op ACI.
Gereserveerde voorvoegsels
De volgende voorvoegsels zijn gereserveerde voorvoegsels van AKS en kunnen niet worden gebruikt voor een knooppunt:
- kubernetes.azure.com/
- kubernetes.io/
Zie Kubernetes-bekende labels, aantekeningen en taints voor meer informatie over gereserveerde voorvoegsels.
Afgeschafte labels
De volgende labels zijn gepland voor afschaffing met de release van Kubernetes v1.24. U moet eventuele labelverwijzingen wijzigen in de aanbevolen vervanging.
Label | Aanbevolen vervanging | Maintainer |
---|---|---|
failure-domain.beta.kubernetes.io/region | topology.kubernetes.io/region | Kubernetes |
failure-domain.beta.kubernetes.io/zone | topology.kubernetes.io/zone | Kubernetes |
beta.kubernetes.io/arch | kubernetes.io/arch | Kubernetes |
beta.kubernetes.io/instance-type | node.kubernetes.io/instance-type | Kubernetes |
beta.kubernetes.io/os | kubernetes.io/os | Kubernetes |
node-role.kubernetes.io/agent* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
kubernetes.io/role* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
Agentpool* | kubernetes.azure.com/agentpool | Azure Kubernetes Service |
Storageprofile* | kubernetes.azure.com/storageprofile | Azure Kubernetes Service |
Opslagtier* | kubernetes.azure.com/storagetier | Azure Kubernetes Service |
Gaspedaal* | kubernetes.azure.com/accelerator | Azure Kubernetes Service |
*Nieuw afgeschaft. Zie de releaseopmerkingen voor meer informatie.
Volgende stappen
Meer informatie over Kubernetes-labels vindt u in de documentatie over Kubernetes-labels.
Azure Kubernetes Service