Używanie tagów platformy Azure w usłudze Azure Kubernetes Service (AKS)
Za pomocą usługi 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 dotyczą wszystkich zasobów związanych z klastrem, ale nie 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 dla reszty klastra i innych pul węzłów.
- Publiczne adresy IP, pliki i dyski mogą mieć tagi ustawione przez platformę Kubernetes za pośrednictwem manifestu platformy Kubernetes. Tagi ustawione w ten sposób utrzymują wartości kubernetes, nawet jeśli zaktualizujesz je później przy użyciu innej metody. Po usunięciu publicznych adresów IP, plików lub dysków za pośrednictwem platformy Kubernetes wszystkie tagi ustawione przez platformę Kubernetes zostaną usunięte. Tagi w tych zasobach, których platforma Kubernetes nie śledzi, pozostają nienaruszone.
Wymagania wstępne
- Interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej. Aby znaleźć swoją 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ą ustawianeKey1
ival1
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
- Prywatna strefa DNS strefy skojarzonej 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 później usunięty, wszystkie tagi ustawione przez klaster zostaną usunięte.
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
Sprawdź, czy tagi zostały zastosowane do klastra i powiązanych zasobów przy użyciu
az aks show
polecenia .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
W poniższych przykładowych danych wyjściowych przedstawiono 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
z tagami team=alpha i costcenter=1234, nowa lista tagów będzie team=alpha i costcenter=1234.
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
Sprawdź, czy tagi zostały zastosowane do klastra i powiązanych zasobów przy użyciu
az aks show
polecenia .az aks show --resource-group myResourceGroup --name myAKSCluster --query '[tags]'
W poniższych przykładowych danych wyjściowych przedstawiono 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
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
Sprawdź, czy tagi zostały zastosowane do puli węzłów przy użyciu
az aks show
polecenia .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
W poniższych przykładowych danych wyjściowych przedstawiono 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 zawiera tagi abtest=a i costcenter=5555, a używasz az aks nodepool update
tagów appversion=0.0.2 i costcenter=4444, nowa lista tagów będzie appversion =0.0.2 i costcenter=4444.
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
Sprawdź, czy tagi zostały zastosowane do puli węzłów przy użyciu
az aks show
polecenia .az aks show --resource-group myResourceGroup --name myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
W poniższych przykładowych danych wyjściowych przedstawiono 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 dysk zawiera tagi dept=IT i costcenter=5555, a następnie użyjesz platformy Kubernetes, aby ustawić tagi team=beta i costcenter=3333, nowa lista tagów będzie dept=IT, team=beta i costcenter=3333.
Wszystkie aktualizacje, które wprowadzasz w tagach za pośrednictwem platformy Kubernetes, zachowują wartość ustawioną za pośrednictwem platformy Kubernetes. Jeśli na przykład dysk zawiera 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 dept=IT, team=beta i costcenter=5555. Jeśli 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--tags w adnotacjach. 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.
Azure Kubernetes Service