Dela via


Använda Azure-taggar i Azure Kubernetes Service (AKS)

Med Azure Kubernetes Service (AKS) kan du ange Azure-taggar i ett AKS-kluster och dess relaterade resurser med hjälp av Azure Resource Manager och Azure CLI. Du kan också använda Kubernetes-manifest för att ange Azure-taggar för vissa resurser. Azure-taggar är en användbar spårningsresurs för vissa affärsprocesser, till exempel återbetalning.

Den här artikeln beskriver hur du anger Azure-taggar för AKS-kluster och relaterade resurser.

Innan du börjar

Granska följande information innan du börjar:

  • Taggar som anges i ett AKS-kluster gäller för alla resurser som är relaterade till klustret, men inte nodpoolerna. Den här åtgärden skriver över värdena för befintliga nycklar.
  • Taggar som anges i en nodpool gäller endast för resurser som är relaterade till den nodpoolen. Den här åtgärden skriver över värdena för befintliga nycklar. Resurser utanför nodpoolen, inklusive resurser för resten av klustret och andra nodpooler, påverkas inte.
  • Offentliga IP-adresser, filer och diskar kan ha taggar som angetts av Kubernetes via ett Kubernetes-manifest. Taggar som anges på det här sättet behåller Kubernetes-värdena, även om du uppdaterar dem senare med en annan metod. När du tar bort offentliga IP-adresser, filer eller diskar via Kubernetes tas alla taggar som anges av Kubernetes bort. Taggarna på de resurser som Kubernetes inte spårar påverkas inte.

Förutsättningar

  • Azure CLI version 2.0.59 eller senare. Kör för att hitta din version az --version. Om du behöver installera den eller uppdatera din version läser du Installera Azure CLI.
  • Kubernetes version 1.20 eller senare.

Begränsningar

  • Azure-taggar innehåller nycklar som är skiftlägesokänsliga vid åtgärder, till exempel när du hämtar en tagg genom att söka i nyckeln. I det här fallet uppdateras eller hämtas en tagg med den angivna nyckeln oavsett hölje. Taggvärden är skiftlägeskänsliga.
  • Om flera taggar anges med identiska nycklar men olika skiftlägen i AKS, används taggarna i alfabetisk ordning. Till exempel {"Key1": "val1", "kEy1": "val2", "key1": "val3"} resulterar i Key1 och val1 anges.
  • För delade resurser kan taggar inte fastställa uppdelningen i resursanvändningen på egen hand.

Azure-taggar och AKS-kluster

När du skapar eller uppdaterar ett AKS-kluster med parametern --tags tilldelas följande Azure-taggar som du angav:

  • SJÄLVA AKS-klustret och dess relaterade resurser:
    • Routningstabell
    • Offentlig IP-adress
    • Lastbalanserare
    • Nätverkssäkerhetsgrupp
    • Virtuellt nätverk
    • AKS-hanterad kubelet msi
    • AKS-hanterat tillägg msi
    • Privat DNS zon som är associerad med det privata klustret
    • Privat slutpunkt som är associerad med det privata klustret
  • Nodresursgruppen

Anteckning

Azure Privat DNS stöder bara 15 taggar. Mer information finns i taggresurserna.

Skapa eller uppdatera taggar i ett AKS-kluster

Skapa ett nytt AKS-kluster

Viktigt

Om du använder befintliga resurser när du skapar ett nytt kluster, till exempel en IP-adress eller routningstabell, az aks create skriver kommandot över uppsättningen taggar. Om du tar bort klustret senare tas eventuella taggar som anges av klustret bort.

  1. Skapa ett kluster och tilldela Azure-taggar med az aks create kommandot med parametern --tags .

    Anteckning

    Om du vill ange taggar för den första nodpoolen, vm-skalningsuppsättningen och varje vm-skalningsuppsättningsinstans som är associerad med den första nodpoolen kan du också ange parametern --nodepool-tags .

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags dept=IT costcenter=9999 \
        --generate-ssh-keys
    
  2. Kontrollera att taggarna har tillämpats på klustret och dess relaterade resurser med kommandot az aks show .

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

    Följande exempelutdata visar de taggar som tillämpas på klustret:

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

Uppdatera ett befintligt AKS-kluster

Viktigt

Om du anger taggar i ett kluster med kommandot az aks update skrivs uppsättningen taggar över. Om klustret till exempel har taggarna dept=IT och costcenter=9999, och du använder az aks update med taggarna team=alpha och costcenter=1234, skulle den nya listan med taggar vara team=alpha och costcenter=1234.

  1. Uppdatera taggarna i ett befintligt kluster med kommandot az aks update med parametern --tags .

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags team=alpha costcenter=1234
    
  2. Kontrollera att taggarna har tillämpats på klustret och dess relaterade resurser med kommandot az aks show .

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

    Följande exempelutdata visar de taggar som tillämpas på klustret:

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

Lägga till taggar i nodpooler

Du kan använda en Azure-tagg på en ny eller befintlig nodpool i AKS-klustret. Taggar som tillämpas på en nodpool tillämpas på varje nod i nodpoolen och sparas via uppgraderingar. Taggar tillämpas också på nya noder som läggs till i en nodpool under utskalningsåtgärder. Att lägga till en tagg kan hjälpa till med uppgifter som principspårning eller kostnadsuppskattning.

När du skapar eller uppdaterar en nodpool med parametern --tags tilldelas de taggar som du anger till följande resurser:

  • Nodpoolen.
  • Vm-skalningsuppsättningen och varje vm-skalningsuppsättningsinstans som är associerad med nodpoolen.

Skapa en ny nodpool

  1. Skapa en nodpool med en Azure-tagg med az aks nodepool add kommandot med parametern --tags .

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name tagnodepool \
        --node-count 1 \
        --tags abtest=a costcenter=5555 \
        --no-wait
    
  2. Kontrollera att taggarna har tillämpats på nodpoolen az aks show med kommandot .

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

    Följande exempelutdata visar de taggar som tillämpas på nodpoolen:

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

Uppdatera en befintlig nodpool

Viktigt

Om du anger taggar i en nodpool med az aks nodepool update kommandot skrivs uppsättningen taggar över. Om nodpoolen till exempel har taggarna abtest=a och costcenter=5555, och du använder az aks nodepool update med taggarna appversion=0.0.2 och costcenter=4444, skulle den nya listan med taggar vara appversion=0.0.2 och costcenter=4444.

  1. Uppdatera en nodpool med en Azure-tagg med kommandot 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. Kontrollera att taggarna har tillämpats på nodpoolen az aks show med kommandot .

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

    Följande exempelutdata visar de taggar som tillämpas på nodpoolen:

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

Lägga till taggar med Kubernetes

Viktigt

Om du anger taggar för filer, diskar och offentliga IP-adresser med Kubernetes uppdateras uppsättningen taggar. Om disken till exempel har taggarna dept=IT och costcenter=5555, och du använder Kubernetes för att ange taggarna team=beta och costcenter=3333, skulle den nya listan med taggar vara dept=IT, team=beta och costcenter=3333.

Alla uppdateringar som du gör av taggar via Kubernetes behåller värdet som angetts via Kubernetes. Om disken till exempel har taggarna dept=IT och costcenter=5555 som angetts av Kubernetes, och du använder portalen för att ange taggarna team=beta och costcenter=3333, skulle den nya listan med taggar vara dept=IT, team=beta och costcenter=5555. Om du sedan tar bort disken via Kubernetes skulle disken ha taggen team=beta.

Du kan använda Azure-taggar på offentliga IP-adresser, diskar och filer med hjälp av ett Kubernetes-manifest.

  • För offentliga IP-adresser använder du service.beta.kubernetes.io/azure-pip-tags under anteckningar. Ett exempel:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta
    spec:
      ...
    
  • För filer och diskar använder du taggar under parametrar. Ett exempel:

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

Nästa steg

Läs mer om att använda etiketter i ett AKS-kluster.