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
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 \ --generate-ssh-keys
Ü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
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" }, ... }, ... ]
Ü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
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
Ü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.
Azure Kubernetes Service