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 ve val1 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.

  1. 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
    
  2. 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.

  1. 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
    
  2. 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

  1. 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
    
  2. 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.

  1. 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
    
  2. 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.