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. Du hittar din version genom att köra
az --version
. Om du behöver installera den eller uppdatera din version kan du läsa 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 iKey1
ochval1
ställs in. - 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 har angett:
- 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
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.
Skapa ett kluster och tilldela Azure-taggar med hjälp av
az aks create
kommandot med parametern--tags
.Kommentar
Om du vill ange taggar i den första nodpoolen, vm-skalningsuppsättningen och varje instans av vm-skalningsuppsättningen 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
Kontrollera att taggarna har tillämpats på klustret och dess relaterade resurser med hjälp av
az aks show
kommandot .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
Följande exempelutdata visar taggarna 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 med 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.
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
Kontrollera att taggarna har tillämpats på klustret och dess relaterade resurser med hjälp av
az aks show
kommandot .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
Följande exempelutdata visar taggarna 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 ditt AKS-kluster. Taggar som tillämpas på en nodpool tillämpas på varje nod i nodpoolen och sparas genom 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
Skapa en nodpool med en Azure-tagg med kommandot
az aks nodepool add
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
Kontrollera att taggarna har tillämpats på nodpoolen med hjälp av
az aks show
kommandot .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
Följande exempelutdata visar taggarna 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 kommandot az aks nodepool update
skrivs uppsättningen med 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.
Uppdatera en nodpool med en Azure-tagg med hjälp av
az aks nodepool update
kommandot .az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name tagnodepool \ --tags appversion=0.0.2 costcenter=4444 \ --no-wait
Kontrollera att taggarna har tillämpats på nodpoolen med hjälp av
az aks show
kommandot .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
Följande exempelutdata visar taggarna 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 för 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. Till 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. Till exempel:
--- apiVersion: storage.k8s.io/v1 ... parameters: ... tags: costcenter=3333,team=beta ...
Nästa steg
Läs mer om hur du använder etiketter i ett AKS-kluster.
Azure Kubernetes Service