Freigeben über


Verwenden von Azure-Tags in Azure Kubernetes Service (AKS)

Mit Azure Kubernetes Service (AKS) können Sie Azure-Tags für einen AKS-Cluster und die zugehörigen Ressourcen mithilfe von Azure Resource Manager und der Azure-CLI festlegen. Für bestimmte Ressourcen können Sie zur Festlegung von Azure-Tags auch Kubernetes-Manifeste verwenden. Azure-Tags sind eine nützliche Nachverfolgungsressource für bestimmte Geschäftsprozesse, z. B. Rückbelastungen.

In diesem Artikel wird erläutert, wie Sie Azure-Tags für AKS-Cluster und zugehörigen Ressourcen festlegen.

Voraussetzungen

Bevor Sie beginnen, beachten Sie Folgendes:

  • Für einen AKS-Cluster festgelegte Tags werden auf alle Ressourcen angewendet, die sich auf den Cluster beziehen, jedoch nicht auf die Knotenpools. Dieser Vorgang überschreibt die Werte vorhandener Schlüssel.
  • Für einen Knotenpool festgelegte Tags werden nur auf Ressourcen angewendet, die mit diesem Knotenpool verknüpft sind. Dieser Vorgang überschreibt die Werte vorhandener Schlüssel. Ressourcen außerhalb dieses Knotenpools, einschließlich Ressourcen für den restlichen Cluster und andere Knotenpools, sind davon nicht betroffen.
  • Öffentliche IP-Adressen, Dateien und Datenträger können über Tags verfügen, die von Kubernetes über ein Kubernetes-Manifests festgelegt werden. Auf diese Weise festgelegte Tags behalten die Kubernetes-Werte bei, auch wenn Sie diese später mit einer anderen Methode aktualisieren. Wenn Sie öffentliche IP-Adressen, Dateien oder Datenträger über Kubernetes entfernen, werden alle von Kubernetes festgelegten Tags entfernt. Die Tags für die Ressourcen, die Kubernetes nicht nachverfolgt, bleiben unberührt.

Voraussetzungen

  • Azure CLI-Version 2.0.59 oder höher. Zum Ermitteln Ihrer Version führen Sie az --version aus. Wenn Sie die Azure CLI installieren oder die Version aktualisieren müssen, finden Sie weitere Informationen unter Installieren der Azure CLI.
  • Kubernetes-Version: 1.20 oder höher.

Einschränkungen

  • Bei den Schlüsseln von Azure-Tags wird die Groß-/Kleinschreibung für Vorgänge nicht beachtet, z. B. beim Abrufen eines Tags durch Suchen nach dem Schlüssel. In diesem Fall wird ein Tag mit dem angegebenen Schlüssel unabhängig von der Groß-/Kleinschreibung aktualisiert oder abgerufen. Bei den Tagwerten wird Groß- und Kleinschreibung unterschieden.
  • Wenn in AKS mehrere Tags gleiche Schlüssel mit unterschiedlicher Groß-/Kleinschreibung aufweisen, werden die Tags in alphabetischer Reihenfolge verwendet. Beispielsweise führt {"Key1": "val1", "kEy1": "val2", "key1": "val3"} zur Festlegung von Key1 und val1.
  • Bei freigegebenen Ressourcen können Tags die Aufteilung in die Ressourcennutzung nicht selbst bestimmen.

Azure-Tags und AKS-Cluster

Wenn Sie einen AKS-Cluster mit dem Parameter --tags erstellen oder aktualisieren, werden die von Ihnen angegebenen Azure-Tags Folgendem zugewiesen:

  • Der AKS-Cluster selbst und die zugehörigen Ressourcen:
    • Routingtabelle
    • Öffentliche IP-Adresse
    • Load Balancer
    • Netzwerksicherheitsgruppe
    • Virtuelles Netzwerk
    • Von AKS verwaltete Kubelet-MSI
    • Von AKS-verwaltete Add-On-MSI
    • Dem privaten Cluster zugeordnete private DNS-Zone
    • Dem privaten Cluster zugeordnete private Endpunkt
  • Der Knotenressourcengruppe

Hinweis

Privates Azure-DNS unterstützt nur 15 Tags. Weitere Informationen finden Sie in den Tagressourcen.

Erstellen oder Aktualisieren von Tags in einem AKS-Cluster

Erstellen eines neuen AKS-Clusters

Wichtig

Wenn Sie vorhandene Ressourcen beim Erstellen eines neuen Clusters verwenden, z. B. eine IP-Adresse oder Routingtabelle, wird die Taggruppe von dem Befehl az aks create überschrieben. Wenn Sie den Cluster später löschen, werden alle vom Cluster festgelegten Tags entfernt.

  1. Erstellen Sie einen Cluster und weisen Sie Azure-Tags mit dem Befehl az aks create und dem Parameter --tags zu.

    Hinweis

    Sie können auch den --nodepool-tags-Parameter festlegen, um Tags für den anfänglichen Knotenpool, die VM-Skalierungsgruppe und die einzelnen, dem anfänglichen Knotenpool zugewiesenen VM-Skalierungsgruppeninstanzen festzulegen.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags dept=IT costcenter=9999 \
        --generate-ssh-keys
    
  2. Überprüfen Sie, ob die Tags auf den Cluster und die zugehörigen Ressourcen angewendet wurden, indem Sie den Befehl az aks show verwenden.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
    

    Die folgende Beispielausgabe zeigt die Tags, die auf den Cluster angewendet werden:

    {
      "clusterTags": {
        "dept": "IT",
        "costcenter": "9999"
      }
    }
    

Aktualisieren eines vorhandenen AKS-Clusters

Wichtig

Durch das Festlegen von Tags in einem Cluster mit dem Befehl az aks update wird die Taggruppe überschrieben. Wenn Ihr Cluster beispielsweise die Tags dept=IT und costcenter=9999 umfasst und Sie az aks update mit den Tags team=alpha und costcenter=1234 verwenden, enthält die neue Liste die Tags team=alpha und costcenter=1234.

  1. Aktualisieren Sie die Tags in einem vorhandenen Cluster mit dem Befehl az aks update und dem Parameter --tags.

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags team=alpha costcenter=1234
    
  2. Überprüfen Sie, ob die Tags auf den Cluster und die zugehörigen Ressourcen angewendet wurden, indem Sie den Befehl az aks show verwenden.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
    

    Die folgende Beispielausgabe zeigt die Tags, die auf den Cluster angewendet werden:

    {
      "clusterTags": {
        "team": "alpha",
        "costcenter": "1234"
      }
    }
    

Hinzufügen von Tags zu Knotenpools

Sie können ein Azure-Tag auf einen neuen oder vorhandenen Knotenpool in Ihrem AKS-Cluster anwenden. Auf einen Knotenpool angewendete Tags werden auf jeden Knoten innerhalb des Knotenpools angewendet und bleiben bei Upgrades erhalten. Tags werden auch auf neue Knoten angewendet, die einem Knotenpool im Rahmen von Vorgängen zum horizontalen Skalieren hinzugefügt werden. Das Hinzufügen eines Tags kann Aufgaben wie das Nachverfolgen von Richtlinien oder die Kostenschätzung erleichtern.

Wenn Sie einen Knotenpool mit dem Parameter --tags erstellen oder aktualisieren, werden die von Ihnen angegebenen Tags den folgenden Ressourcen zugewiesen:

  • Dem Knotenpool.
  • Die VM-Skalierungsgruppe und alle VM-Skalierungsgruppeninstanzen, die dem Knotenpool zugeordnet sind.

Erstellen eines neuen Knotenpools

  1. Erstellen Sie einen Knotenpool mit einem Azure-Tag mit dem Befehl az aks nodepool add und dem Parameter --tags.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name tagnodepool \
        --node-count 1 \
        --tags abtest=a costcenter=5555 \
        --no-wait
    
  2. Überprüfen Sie mit dem Befehl az aks show, ob die Tags auf den Knotenpool angewendet wurden.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
    

    Die folgende Beispielausgabe zeigt die Tags, die auf den Knotenpool angewendet werden:

    [
      {
        "nodepoolName": "nodepool1",
        "tags": null
      },
      {
        "nodepoolName": "tagnodepool",
        "tags": {
          "abtest": "a",
          "costcenter": "5555"
        }
      }
    ]
    

Aktualisieren eines vorhandenen Knotenpools

Wichtig

Durch das Festlegen von Tags in einem Knotenpool mit dem Befehl az aks nodepool update wird die Taggruppe überschrieben. Wenn Ihr Knotenpool beispielsweise die Tags abtest=a und costcenter=5555 umfasst und Sie az aks nodepool update mit den Tags appversion=0.0.2 und costcenter=4444 verwenden, enthält die neue Liste die Tags appversion=0.0.2 und costcenter=4444.

  1. Aktualisieren Sie einen Knotenpool mit einem Azure-Tag mithilfe des Befehls az aks nodepool update.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name tagnodepool \
        --tags appversion=0.0.2 costcenter=4444 \
        --no-wait
    
  2. Überprüfen Sie mit dem Befehl az aks show, ob die Tags auf den Knotenpool angewendet wurden.

    az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
    

    Die folgende Beispielausgabe zeigt die Tags, die auf den Knotenpool angewendet werden:

    [
      {
        "nodepoolName": "nodepool1",
        "tags": null
      },
      {
        "nodepoolName": "tagnodepool",
        "tags": {
          "appversion": "0.0.2",
          "costcenter": "4444"
        }
      }
    ]
    

Hinzufügen von Tags mit Kubernetes

Wichtig

Durch das Festlegen von Tags für Dateien, Datenträger und öffentliche IP-Adressen mit Kubernetes wird die Taggruppe aktualisiert. Wenn Ihr Datenträger beispielsweise über die Tags dept=IT und costcenter=5555 verfügt und Sie Kubernetes verwenden, um die Tags team=beta und costcenter=3333 festzulegen, enthält die neue Liste die Tags dept=IT, team=beta und costcenter=3333.

Bei allen Aktualisierungen, die Sie über Kubernetes an Tags vornehmen, wird der in Kubernetes festgelegte Wert beibehalten. Wenn Ihr Datenträger beispielsweise über die von Kubernetes festgelegten Tags dept=IT und costcenter=5555 verfügt und Sie das Portal verwenden, um die Tags team=beta und costcenter=3333 festzulegen, enthält die neue Liste die Tags dept=IT, team=beta und costcenter=5555. Wenn Sie den Datenträger dann über Kubernetes entfernen, weist der Datenträger das Tag team=beta auf.

Sie können Azure-Tags mithilfe eines Kubernetes-Manifests auf öffentliche IP-Adressen, Datenträger und Dateien anwenden.

  • Verwenden Sie für öffentliche IP-Adressen service.beta.kubernetes.io/azure-pip-tags unter Anmerkungen. Beispiel:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta
    spec:
      ...
    
  • Verwenden Sie für Dateien und Datenträger Tags unter Parameter. Beispiel:

    ---
    apiVersion: storage.k8s.io/v1
    ...
    parameters:
      ...
      tags: costcenter=3333,team=beta
    ...
    

Nächste Schritte

Erfahren Sie mehr über die Verwendung von Bezeichnungen in einem AKS-Cluster.