Używanie tagów platformy Azure w usłudze Azure Kubernetes Service (AKS)

Za pomocą Azure Kubernetes Service (AKS) można ustawić tagi platformy Azure w klastrze usługi AKS i powiązanych z nią zasobach przy użyciu usługi Azure Resource Manager i interfejsu wiersza polecenia platformy Azure. Możesz również użyć manifestów platformy Kubernetes, aby ustawić tagi platformy Azure dla niektórych zasobów. Tagi platformy Azure to przydatny zasób śledzenia dla niektórych procesów biznesowych, takich jak obciążenie zwrotne.

W tym artykule wyjaśniono, jak ustawić tagi platformy Azure dla klastrów usługi AKS i powiązanych zasobów.

Zanim rozpoczniesz

Przed rozpoczęciem przejrzyj następujące informacje:

  • Tagi ustawione w klastrze usługi AKS mają zastosowanie do wszystkich zasobów związanych z klastrem, ale nie do pul węzłów. Ta operacja zastępuje wartości istniejących kluczy.
  • Tagi ustawione w puli węzłów mają zastosowanie tylko do zasobów związanych z pulą węzłów. Ta operacja zastępuje wartości istniejących kluczy. Nie ma to wpływu na zasoby poza pulą węzłów, w tym zasoby pozostałej części klastra i innych pul węzłów.
  • Publiczne adresy IP, pliki i dyski mogą mieć tagi ustawione przez platformę Kubernetes za pośrednictwem manifestu kubernetes. Tagi ustawione w ten sposób zachowują wartości platformy Kubernetes, nawet jeśli zaktualizujesz je później przy użyciu innej metody. Usunięcie publicznych adresów IP, plików lub dysków za pośrednictwem platformy Kubernetes spowoduje usunięcie wszystkich tagów ustawionych przez platformę Kubernetes. Tagi w tych zasobach, których platforma Kubernetes nie ma wpływu na śledzenie.

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej. Aby znaleźć wersję, uruchom polecenie az --version. Jeśli musisz ją zainstalować lub zaktualizować wersję, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
  • Platforma Kubernetes w wersji 1.20 lub nowszej.

Ograniczenia

  • Tagi platformy Azure zawierają klucze, które nie uwzględniają wielkości liter w przypadku operacji, na przykład podczas pobierania tagu przez wyszukanie klucza. W takim przypadku tag z określonym kluczem jest aktualizowany lub pobierany niezależnie od wielkości liter. W wartościach tagów wielkość liter jest uwzględniana.
  • Jeśli w usłudze AKS jest ustawionych wiele tagów z identycznymi kluczami, ale o różnych wielkościach liter, tagi są używane w kolejności alfabetycznej. Na przykład {"Key1": "val1", "kEy1": "val2", "key1": "val3"} wyniki są Key1 ustawiane i val1 ustawiane.
  • W przypadku zasobów udostępnionych tagi nie mogą samodzielnie określić podziału użycia zasobów.

Tagi platformy Azure i klastry usługi AKS

Podczas tworzenia lub aktualizowania klastra usługi AKS za pomocą parametru --tags zostaną przypisane określone tagi platformy Azure:

  • Sam klaster usługi AKS i powiązane z nią zasoby:
    • Tabela tras
    • Publiczny adres IP
    • Moduł równoważenia obciążenia
    • Sieciowa grupa zabezpieczeń
    • Sieć wirtualna
    • Plik msi kubelet zarządzany przez usługę AKS
    • Plik msi zarządzany przez usługę AKS
    • strefa Prywatna strefa DNS skojarzona z klastrem prywatnym
    • Prywatny punkt końcowy skojarzony z klastrem prywatnym
  • Grupa zasobów węzła

Uwaga

Usługa Azure Prywatna strefa DNS obsługuje tylko 15 tagów. Aby uzyskać więcej informacji, zobacz zasoby tagów.

Tworzenie lub aktualizowanie tagów w klastrze usługi AKS

Tworzenie nowego klastra usługi AKS

Ważne

Jeśli używasz istniejących zasobów podczas tworzenia nowego klastra, takiego jak adres IP lub tabela tras, az aks create polecenie zastępuje zestaw tagów. Jeśli klaster zostanie usunięty później, wszystkie tagi ustawione przez klaster zostaną usunięte.

  1. Utwórz klaster i przypisz tagi platformy Azure przy użyciu az aks create polecenia z parametrem --tags .

    Uwaga

    Aby ustawić tagi w początkowej puli węzłów, zestaw skalowania maszyn wirtualnych i każde wystąpienie zestawu skalowania maszyn wirtualnych skojarzone z początkową pulą węzłów, można również ustawić --nodepool-tags parametr .

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags dept=IT costcenter=9999 \
        --generate-ssh-keys
    
  2. Sprawdź, czy tagi zostały zastosowane do klastra i powiązanych z nią zasobów przy użyciu az aks show polecenia .

    az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
    

    Następujące przykładowe dane wyjściowe pokazują tagi zastosowane do klastra:

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

Aktualizowanie istniejącego klastra usługi AKS

Ważne

Ustawianie tagów w klastrze przy użyciu az aks update polecenia zastępuje zestaw tagów. Jeśli na przykład klaster ma tagi dept=IT i costcenter=9999, a używasz az aks update ich z tagami team=alpha i costcenter=1234, nowa lista tagów będzie team= alpha i costcenter=1234.

  1. Zaktualizuj tagi w istniejącym klastrze przy użyciu az aks update polecenia z parametrem --tags .

    az aks update \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --tags team=alpha costcenter=1234
    
  2. Sprawdź, czy tagi zostały zastosowane do klastra i powiązanych z nią zasobów przy użyciu az aks show polecenia .

    az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
    

    Następujące przykładowe dane wyjściowe pokazują tagi zastosowane do klastra:

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

Dodawanie tagów do pul węzłów

Tag platformy Azure można zastosować do nowej lub istniejącej puli węzłów w klastrze usługi AKS. Tagi stosowane do puli węzłów są stosowane do każdego węzła w puli węzłów i są utrwalane przez uaktualnienia. Tagi są również stosowane do nowych węzłów, które są dodawane do puli węzłów podczas operacji skalowania w poziomie. Dodanie tagu może pomóc w zadaniach, takich jak śledzenie zasad lub szacowanie kosztów.

Podczas tworzenia lub aktualizowania puli węzłów za pomocą parametru --tags określone tagi są przypisywane do następujących zasobów:

  • Pula węzłów.
  • Zestaw skalowania maszyn wirtualnych i każde wystąpienie zestawu skalowania maszyn wirtualnych skojarzone z pulą węzłów.

Tworzenie nowej puli węzłów

  1. Utwórz pulę węzłów z tagiem platformy Azure przy użyciu az aks nodepool add polecenia z parametrem --tags .

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name tagnodepool \
        --node-count 1 \
        --tags abtest=a costcenter=5555 \
        --no-wait
    
  2. Sprawdź, czy tagi zostały zastosowane do puli węzłów przy użyciu az aks show polecenia .

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

    Następujące przykładowe dane wyjściowe pokazują tagi zastosowane do puli węzłów:

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

Aktualizowanie istniejącej puli węzłów

Ważne

Ustawianie tagów w puli węzłów przy użyciu az aks nodepool update polecenia zastępuje zestaw tagów. Jeśli na przykład pula węzłów ma tagi abtest=a i costcenter=5555, a używasz az aks nodepool update ich z tagami appversion=0.0.2 i costcenter=4444, nowa lista tagów będzie appversion=0.0.2 i costcenter=4444.

  1. Zaktualizuj pulę węzłów za pomocą tagu az aks nodepool update platformy Azure przy użyciu polecenia .

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name tagnodepool \
        --tags appversion=0.0.2 costcenter=4444 \
        --no-wait
    
  2. Sprawdź, czy tagi zostały zastosowane do puli węzłów przy użyciu az aks show polecenia .

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

    Następujące przykładowe dane wyjściowe pokazują tagi zastosowane do puli węzłów:

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

Dodawanie tagów przy użyciu platformy Kubernetes

Ważne

Ustawianie tagów na plikach, dyskach i publicznych adresach IP przy użyciu platformy Kubernetes aktualizuje zestaw tagów. Jeśli na przykład na dysku znajdują się tagi dept=IT i costcenter=5555, a platforma Kubernetes używa platformy Kubernetes do ustawiania tagów team=beta i costcenter=3333, nowa lista tagów będzie pt=IT, team=beta i costcenter=3333.

Wszystkie aktualizacje tagów w usłudze Kubernetes zachowują wartość ustawioną za pośrednictwem platformy Kubernetes. Jeśli na przykład dysk ma tagi dept=IT i costcenter=5555 ustawione przez platformę Kubernetes, a portal służy do ustawiania tagów team=beta i costcenter=3333, nowa lista tagów będzie pt=IT, team=beta i costcenter=5555. Jeśli następnie usuniesz dysk za pośrednictwem platformy Kubernetes, dysk będzie miał tag team=beta.

Tagi platformy Azure można stosować do publicznych adresów IP, dysków i plików przy użyciu manifestu platformy Kubernetes.

  • W przypadku publicznych adresów IP użyj service.beta.kubernetes.io/azure-pip-tags w obszarze adnotacji. Na przykład:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta
    spec:
      ...
    
  • W przypadku plików i dysków użyj tagów w obszarze parametrów. Na przykład:

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

Następne kroki

Dowiedz się więcej o korzystaniu z etykiet w klastrze usługi AKS.