Azure Kubernetes Service'de (AKS) Azure etiketlerini kullanma
Azure Kubernetes Service (AKS) ile Azure Resource Manager ve Azure CLI kullanarak aks kümesinde ve ilgili kaynaklarında Azure etiketlerini ayarlayabilirsiniz. Belirli kaynaklar için Azure etiketlerini ayarlamak için Kubernetes bildirimlerini de kullanabilirsiniz. Azure etiketleri, geri ödeme gibi belirli iş süreçleri için kullanışlı bir izleme kaynağıdır.
Bu makalede AKS kümeleri ve ilgili kaynaklar için Azure etiketlerinin nasıl ayarlanacağı açıklanmaktadır.
Başlamadan önce
Başlamadan önce aşağıdaki bilgileri gözden geçirin:
- AKS kümesinde ayarlanan etiketler kümeyle ilgili tüm kaynaklara uygulanır, ancak düğüm havuzlarına uygulanmaz. Bu işlem var olan anahtarların değerlerinin üzerine yazar.
- Düğüm havuzunda ayarlanan etiketler yalnızca bu düğüm havuzuyla ilgili kaynaklara uygulanır. Bu işlem var olan anahtarların değerlerinin üzerine yazar. Kümenin geri kalanı ve diğer düğüm havuzları için kaynaklar da dahil olmak üzere bu düğüm havuzunun dışındaki kaynaklar etkilenmez.
- Genel IP'ler, dosyalar ve diskler, Kubernetes bildirimi aracılığıyla Kubernetes tarafından ayarlanan etiketlere sahip olabilir. Bu şekilde ayarlanan etiketler, daha sonra farklı bir yöntem kullanarak güncelleştirseniz bile Kubernetes değerlerini korur. Kubernetes aracılığıyla genel IP'leri, dosyaları veya diskleri kaldırdığınızda, Kubernetes tarafından ayarlanan tüm etiketler kaldırılır. Kubernetes'in izlemediği kaynaklardaki etiketler etkilenmez.
Önkoşullar
- Azure CLI sürüm 2.0.59 veya üzeri. Sürümünüzü bulmak için komutunu çalıştırın
az --version
. Yüklemeniz veya sürümünüzü güncelleştirmeniz gerekiyorsa bkz. Azure CLI'yi yükleme. - Kubernetes sürüm 1.20 veya üzeri.
Sınırlamalar
- Azure etiketlerinin anahtarları, anahtar için arama yaparak etiketi almanız gibi işlemler için büyük/küçük harfe duyarlı değildir. Bu durumda, belirtilen anahtara sahip bir etiket, büyük/küçük harfe bakılmaksızın güncelleştirilir veya alınır. Etiket değerleri büyük/küçük harfe duyarlıdır.
- AKS'de anahtarları aynı ama büyük/küçük harf kullanımı farklı olan birden çok etiket ayarlandıysa, etiketler alfabetik sırayla kullanılır. Örneğin,
{"Key1": "val1", "kEy1": "val2", "key1": "val3"}
sonuçKey1
olarak veval1
ayarlanır. - Paylaşılan kaynaklar için etiketler, kaynak kullanımındaki bölmeyi kendi başlarına belirleyemez.
Azure etiketleri ve AKS kümeleri
Bir AKS kümesini parametresiyle --tags
oluşturduğunuzda veya güncelleştirdiğinizde, belirttiğiniz Azure etiketlerine aşağıdakiler atanır:
- AKS kümesinin kendisi ve ilgili kaynakları:
- Yol tablosu
- Genel IP
- Yük dengeleyici
- Ağ güvenlik grubu
- Sanal ağ
- AKS tarafından yönetilen kubelet msi
- AKS tarafından yönetilen eklenti msi
- Özel kümeyle ilişkilendirilmiş Özel DNS bölge
- Özel kümeyle ilişkili özel uç nokta
- Düğüm kaynak grubu
Not
Azure Özel DNS yalnızca 15 etiketi destekler. Daha fazla bilgi için bkz. etiket kaynakları.
AKS kümesinde etiket oluşturma veya güncelleştirme
Yeni AKS kümesi oluşturma
Önemli
IP adresi veya yol tablosu gibi yeni bir küme oluştururken mevcut kaynakları kullanıyorsanız, az aks create
komut etiket kümesinin üzerine yazar. Kümeyi daha sonra silerseniz, küme tarafından ayarlanan tüm etiketler kaldırılır.
parametresiyle komutunu kullanarak
az aks create
bir küme oluşturun ve Azure etiketlerini atayın--tags
.Not
İlk düğüm havuzunda, sanal makine ölçek kümesinde ve ilk düğüm havuzuyla ilişkili her sanal makine ölçek kümesi örneğinde etiket ayarlamak için parametresini
--nodepool-tags
de ayarlayabilirsiniz.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --tags dept=IT costcenter=9999 \ --generate-ssh-keys
komutunu kullanarak etiketlerin kümeye ve ilgili kaynaklarına uygulandığını
az aks show
doğrulayın.az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
Aşağıdaki örnek çıktı, kümeye uygulanan etiketleri gösterir:
{ "clusterTags": { "dept": "IT", "costcenter": "9999" } }
Mevcut AKS kümesini güncelleştirme
Önemli
komutunu kullanarak bir kümedeki etiketleri ayarlamak az aks update
, etiket kümesinin üzerine yazar. Örneğin, kümenizde dept=BT ve costcenter=9999 etiketleri varsa ve team=alpha ve costcenter=1234 etiketleriyle kullanıyorsanızaz aks update
, yeni etiket listesi team=alpha ve costcenter=1234 olacaktır.
parametresiyle komutunu kullanarak mevcut kümedeki
az aks update
etiketleri güncelleştirin--tags
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --tags team=alpha costcenter=1234
komutunu kullanarak etiketlerin kümeye ve ilgili kaynaklarına uygulandığını
az aks show
doğrulayın.az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
Aşağıdaki örnek çıktı, kümeye uygulanan etiketleri gösterir:
{ "clusterTags": { "team": "alpha", "costcenter": "1234" } }
Düğüm havuzlarına etiket ekleme
AKS kümenizdeki yeni veya mevcut bir düğüm havuzuna Azure etiketi uygulayabilirsiniz. Düğüm havuzuna uygulanan etiketler düğüm havuzu içindeki her düğüme uygulanır ve yükseltmeler aracılığıyla kalıcı hale uygulanır. Etiketler, genişleme işlemleri sırasında düğüm havuzuna eklenen yeni düğümlere de uygulanır. Etiket eklemek, ilke izleme veya maliyet tahmini gibi görevlerde yardımcı olabilir.
parametresiyle --tags
bir düğüm havuzu oluşturduğunuzda veya güncelleştirdiğinizde, belirttiğiniz etiketler aşağıdaki kaynaklara atanır:
- Düğüm havuzu.
- Düğüm havuzuyla ilişkili sanal makine ölçek kümesi ve her sanal makine ölçek kümesi örneği.
Yeni düğüm havuzu oluşturma
parametresiyle komutunu kullanarak Azure etiketine
az aks nodepool add
sahip--tags
bir düğüm havuzu oluşturun.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name tagnodepool \ --node-count 1 \ --tags abtest=a costcenter=5555 \ --no-wait
komutunu kullanarak etiketlerin düğüm havuzuna uygulandığını
az aks show
doğrulayın.az aks show -g myResourceGroup -n myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
Aşağıdaki örnek çıktıda düğüm havuzuna uygulanan etiketler gösterilmektedir:
[ { "nodepoolName": "nodepool1", "tags": null }, { "nodepoolName": "tagnodepool", "tags": { "abtest": "a", "costcenter": "5555" } } ]
Mevcut düğüm havuzunu güncelleştirme
Önemli
komutunu kullanarak düğüm havuzundaki etiketleri ayarlamak az aks nodepool update
, etiket kümesinin üzerine yazar. Örneğin düğüm havuzunuzda abtest=a ve costcenter=5555 etiketleri varsa ve appversion=0.0.2 ve costcenter=4444 etiketleriyle kullanıyorsanız az aks nodepool update
yeni etiket listesi appversion=0.0.2 ve costcenter=4444 olacaktır.
komutunu kullanarak bir düğüm havuzunu Azure etiketiyle güncelleştirin
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
komutunu kullanarak etiketlerin düğüm havuzuna uygulandığını
az aks show
doğrulayın.az aks show -g myResourceGroup -n myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
Aşağıdaki örnek çıktıda düğüm havuzuna uygulanan etiketler gösterilmektedir:
[ { "nodepoolName": "nodepool1", "tags": null }, { "nodepoolName": "tagnodepool", "tags": { "appversion": "0.0.2", "costcenter": "4444" } } ]
Kubernetes kullanarak etiket ekleme
Önemli
Kubernetes kullanarak dosyalarda, disklerde ve genel IP'lerde etiketleri ayarlamak, etiket kümesini güncelleştirir. Örneğin, diskinizde dept=IT ve costcenter=5555 etiketleri varsa ve team=beta ve costcenter=3333 etiketlerini ayarlamak için Kubernetes kullanıyorsanız, yeni etiket listesi dept=IT, team=beta ve costcenter=3333 olacaktır.
Kubernetes aracılığıyla etiketlerde yaptığınız tüm güncelleştirmeler, Kubernetes aracılığıyla ayarlanan değeri korur. Örneğin, diskinizde Kubernetes tarafından ayarlanan dept=IT ve costcenter=5555 etiketleri varsa ve team=beta ve costcenter=3333 etiketlerini ayarlamak için portalı kullanırsanız, yeni etiket listesi dept=IT, team=beta ve costcenter=5555 olacaktır. Daha sonra Kubernetes aracılığıyla diski kaldırırsanız disk team=beta etiketine sahip olur.
Kubernetes bildirimini kullanarak genel IP'lere, disklere ve dosyalara Azure etiketleri uygulayabilirsiniz.
Genel IP'ler için ek açıklamalar altındaki service.beta.kubernetes.io/azure-pip-tags kullanın. Örnek:
apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta spec: ...
Dosyalar ve diskler için parametreler altındaki etiketleri kullanın. Örnek:
--- apiVersion: storage.k8s.io/v1 ... parameters: ... tags: costcenter=3333,team=beta ...
Sonraki adımlar
AKS kümesinde etiketleri kullanma hakkında daha fazla bilgi edinin.