Verwenden von Bezeichnungen in einem AKS-Cluster (Azure Kubernetes Service)

Wenn Sie über mehrere Knotenpools verfügen, kann es wünschenswert sein, bei der Erstellung des Knotenpools eine Bezeichnung hinzuzufügen. Kubernetes-Bezeichnungen behandeln die Planungsregeln für Knoten. Sie können einem Knotenpool jederzeit Bezeichnungen hinzufügen und diese auf alle Knoten im Knotenpool anwenden.

In dieser Schrittanleitung erfahren Sie, wie Sie Bezeichnungen in einem AKS-Cluster (Azure Kubernetes Service) verwenden.

Voraussetzungen

Azure CLI-Version 2.2.0 oder höher muss installiert und konfiguriert sein. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.

Erstellen eines AKS-Clusters mit einer Bezeichnung

  1. Erstellen Sie mithilfe des Befehls az aks create einen AKS-Cluster mit einer Bezeichnung, und geben Sie den Parameter --node-labels an, um Ihre Bezeichnungen festzulegen. Bezeichnungen müssen auch ein Schlüssel-Wert-Paar sein und eine gültige Syntax aufweisen.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 2 \
        --nodepool-labels dept=IT costcenter=9000
    
  2. Überprüfen Sie mithilfe des Befehls kubectl get nodes --show-labels, ob die Bezeichnungen festgelegt wurden.

    kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
    

Erstellen eines Knotenpools mit einer Bezeichnung

  1. Erstellen Sie mithilfe des Befehls az aks nodepool add einen Knotenpool mit einer Bezeichnung, und geben Sie einen Namen für die --name-Parameter und Bezeichnungen für den --labels-Parameter an. Bezeichnungen müssen auch ein Schlüssel-Wert-Paar sein und eine gültige Syntax aufweisen.

    Der folgende Beispielbefehl erstellt einen Knotenpool namens labelnp mit den Bezeichnungen dept=HR und costcenter=5000:

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name labelnp \
        --node-count 1 \
        --labels dept=HR costcenter=5000 \
        --no-wait
    

    Die folgende Beispielausgabe des Befehls az aks nodepool list zeigt, dass der Knotenpool labelnp Knoten mit den angegebenen Knotenbezeichnungen (nodeLabels) erstellt:

    [
      {
        ...
        "count": 1,
        ...
        "name": "labelnp",
        "orchestratorVersion": "1.15.7",
        ...
        "provisioningState": "Creating",
        ...
        "nodeLabels":  {
          "costcenter": "5000",
          "dept": "HR"
        },
        ...
      },
     ...
    ]
    
  2. Überprüfen Sie mithilfe des Befehls kubectl get nodes --show-labels, ob die Bezeichnungen festgelegt wurden.

    kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
    

Aktualisieren von Bezeichnungen für vorhandene Knotenpools

  1. Aktualisieren Sie mithilfe des Befehls az aks nodepool update eine Bezeichnung für einen vorhandenen Knotenpool. Beim Aktualisieren von Bezeichnungen für vorhandene Knotenpools werden die alten Bezeichnungen mit den neuen Bezeichnungen überschrieben. Bezeichnungen müssen auch ein Schlüssel-Wert-Paar sein und eine gültige Syntax aufweisen.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name labelnp \
        --labels dept=ACCT costcenter=6000 \
        --no-wait
    
  2. Überprüfen Sie mithilfe des Befehls kubectl get nodes --show-labels, ob die Bezeichnungen festgelegt wurden.

    kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
    

Nicht verfügbare Bezeichnungen

Reservierte Systembezeichnungen

Seit dem AKS-Release vom 19.08.2021 gibt es in AKS keine Möglichkeit mehr, Änderungen an reservierten AKS-Bezeichnungen vorzunehmen. Der Versuch, diese Bezeichnungen zu ändern, führt zu einer Fehlermeldung.

Die folgenden Bezeichnungen sind reservierte AKS-Bezeichnungen. Die Verwendung virtueller Knoten gibt an, ob diese Bezeichnungen ein unterstütztes Systemfeature auf virtuellen Knoten sein können. Einige Eigenschaften, die diese Systemfeatures ändern, sind auf den virtuellen Knoten nicht verfügbar, da dafür eine Änderung des Hosts erforderlich ist.

Bezeichnung Wert Beispiel/Optionen Verwendung virtueller Knoten
kubernetes.azure.com/agentpool <Name des Agentpools> nodepool1 identisch
kubernetes.io/arch amd64 runtime.GOARCH
kubernetes.io/os <OS Type> (Betriebssystemtyp) Linux/Windows identisch
node.kubernetes.io/instance-type <Größe des virtuellen Computers> Standard_NC6s_v3 Virtuell
topology.kubernetes.io/region <Azure-Region> westus2 identisch
topology.kubernetes.io/zone <Azure-Zone> 0 identisch
kubernetes.azure.com/cluster <MC_RgName> MC_aks_myAKSCluster_westus2 identisch
kubernetes.azure.com/mode <mode> Benutzer oder System User
kubernetes.azure.com/role Agent Agent identisch
kubernetes.azure.com/scalesetpriority <VMSS-Priorität> Spot oder normal
kubernetes.io/hostname <hostname> aks-nodepool-00000000-vmss000000 identisch
kubernetes.azure.com/storageprofile <Speicherprofil für Betriebssystemdatenträger> Verwaltet
kubernetes.azure.com/storagetier <Speicherebene für Betriebssystemdatenträger> Premium_LRS
kubernetes.azure.com/instance-sku <SKU-Familie> Standard_N Virtuell
kubernetes.azure.com/node-image-version <VHD-Version> AKSUbuntu-1804-2020.03.05 Version des virtuellen Knotens
kubernetes.azure.com/subnet <Name des Knotenpoolsubnetzes> subnetName Subnetzname des virtuellen Knotens
kubernetes.azure.com/vnet <Name des virtuellen Knotenpoolnetzwerks> vnetName Virtuelles Netzwerk des virtuellen Knotens
kubernetes.azure.com/ppg <PPG-Name des Knotenpools> ppgName
kubernetes.azure.com/encrypted-set <Name des Verschlüsselungssets für den Knotenpool> Name des Verschlüsselungssets
kubernetes.azure.com/accelerator <Beschleuniger> NVIDIA
kubernetes.azure.com/fips_enabled <Ist FIPS aktiviert?> true
kubernetes.azure.com/os-sku <Betriebssystem/SKU> Betriebssystem-SKU erstellen oder aktualisieren Linux
  • Identisch gilt für Stellen, an denen sich die erwarteten Werte für die Bezeichnungen zwischen einem Standardknotenpool und einem virtuellen Knotenpool nicht unterscheiden. Da Pods für virtuelle Knoten keine zugrunde liegenden virtuellen Computer (VM) verfügbar machen, werden die VM-SKU-Werte durch die SKU Virtuell ersetzt.
  • Die Version des virtuellen Knotens bezieht sich auf die aktuelle Version des Releases des virtuellen Kubelet-ACI-Connectors.
  • Der Subnetzname des virtuellen Knotens ist der Name des Subnetzes, in dem Pods für virtuelle Knoten in ACI (Azure Container Instance) bereitgestellt werden.
  • Das virtuelle Netzwerk des virtuellen Knotens ist der Name des virtuellen Netzwerks, das das Subnetz enthält, in dem Pods für virtuelle Knoten in ACI bereitgestellt werden.

Reservierte Präfixe

Die folgenden Präfixe sind reservierte AKS-Präfixe und können nicht für Knoten verwendet werden:

  • kubernetes.azure.com/
  • kubernetes.io/

Weitere Informationen zu reservierten Präfixen finden Sie unter Bekannte Bezeichnungen, Anmerkungen und Taints in Kubernetes.

Veraltete Bezeichnungen

Die folgenden Bezeichnungen gelten seit der Veröffentlichung von Kubernetes v1.24 als veraltet. Sie sollten alle Verweise auf diese Bezeichnungen in die empfohlene Ersatzbezeichnung ändern.

Bezeichnung Empfohlene Ersatzbezeichnung Maintainer (Teambetreuer)
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
Storagetier* kubernetes.azure.com/storagetier Azure Kubernetes Service
Accelerator* kubernetes.azure.com/accelerator Azure Kubernetes Service

*Kürzlich veraltet. Weitere Informationen finden Sie in den Versionshinweisen.

Nächste Schritte

Weitere Informationen zu Kubernetes-Bezeichnungen finden Sie in der Dokumentation zu Kubernetes-Bezeichnungen.