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

  1. 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
    
  2. 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

  1. 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 hebben

    Met 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"
        },
        ...
      },
     ...
    ]
    
  2. 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

  1. 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
    
  2. 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 Waarde 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 Gebruiker
kubernetes.azure.com/role agent Agent Zelfde
kubernetes.azure.com/scalesetpriority <VMSS-prioriteit> Spot of normaal N.v.t.
kubernetes.io/hostname <Hostname> 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 <Accelerator> 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
Accelerator* 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.