Menggunakan tag Azure di Azure Kubernetes Service (AKS)
Dengan Azure Kubernetes Service (AKS), Anda dapat mengatur tag Azure pada kluster AKS dan sumber daya terkaitnya dengan menggunakan Azure Resource Manager, melalui Azure CLI. Untuk beberapa sumber daya, Anda juga dapat menggunakan manifes Kubernetes guna mengatur tag Azure. Tag Azure adalah sumber daya pelacakan yang berguna untuk proses bisnis tertentu, seperti penagihan balik.
Artikel ini menjelaskan cara mengatur tag Azure untuk kluster AKS dan sumber daya terkait.
Sebelum Anda mulai
Sebaiknya pahami apa yang terjadi saat Anda mengatur dan memperbarui tag Azure dengan kluster AKS dan sumber daya terkaitnya. Contohnya:
- Tag yang ditetapkan pada kluster AKS berlaku untuk semua sumber daya yang terkait dengan kluster, tetapi bukan kumpulan node. Operasi ini menimpa nilai-nilai kunci yang ada.
- Tag yang diatur pada kumpulan node hanya berlaku untuk sumber daya yang terkait dengan kumpulan node tersebut. Operasi ini menimpa nilai-nilai kunci yang ada. Sumber daya di luar kumpulan node itu, termasuk sumber daya untuk sisa kluster dan kumpulan node lainnya, tidak terpengaruh.
- IP publik, file, dan disk dapat memiliki tag yang ditetapkan oleh Kubernetes melalui manifes Kubernetes. Tag yang diatur dengan cara ini akan mempertahankan nilai Kubernetes, meskipun Anda memperbaruinya nanti dengan menggunakan metode lain. Saat IP publik, file, atau disk dihapus melalui Kubernetes, tag apa pun yang ditetapkan oleh Kubernetes akan dihapus. Tag pada sumber daya yang tidak dilacak oleh Kubernetes tetap tidak terpengaruh.
Prasyarat
Azure CLI versi 2.0.59 atau yang lebih baru diinstal dan dikonfigurasi.
Untuk menemukan versi Anda, jalankan
az --version. Jika Anda perlu menginstalnya atau memperbarui versi Anda, lihat Menginstal Azure CLI.Kubernetes versi 1.20 atau yang lebih baru, diinstal.
Batasan
- Tag Azure memiliki kunci yang tidak peka huruf besar/kecil untuk beroperasi, misalnya saat mengambil tag dengan cara mencari kuncinya. Dalam hal ini, tag dengan kunci yang ditentukan akan diperbarui atau diambil terlepas dari casing. Nilai tag peka huruf besar/kecil.
- Di AKS, jika beberapa tag diatur dengan kunci yang sama tetapi huruf besar/huruf berbeda, tag tersebut digunakan dalam urutan abjad. Misalnya,
{"Key1": "val1", "kEy1": "val2", "key1": "val3"}menghasilkan diaturnyaKey1danval1. - Untuk sumber daya bersama, tag tidak dapat menentukan pemisahan dalam penggunaan sumber daya sendiri.
Menambahkan tag ke kluster
Saat Anda membuat atau memperbarui kluster AKS dengan parameter --tags, berikut ini ditetapkan tag Azure yang telah Anda tentukan:
- Kluster AKS
- Tabel rute yang terkait dengan kluster
- IP publik yang terkait dengan kluster
- Load balancer yang terkait dengan kluster
- Grup keamanan jaringan yang terkait dengan kluster
- Jaringan virtual yang terkait dengan kluster
- Kubelet msi terkelola AKS yang terkait dengan kluster
- Msi addon terkelola AKS yang terkait dengan kluster
- Zona DNS privat yang terkait dengan kluster privat
- Titik akhir privat yang terkait dengan kluster privat
Catatan
Azure Private DNS hanya mendukung 15 tag. sumber daya tag.
Untuk membuat kluster dan menetapkan tag Azure, jalankan az aks create dengan parameter --tags, seperti yang ditunjukkan dalam perintah berikut. Menjalankan perintah membuat myAKSCluster di myResourceGroup dengan tag dept=IT dan costcenter=9999.
Catatan
Untuk mengatur tag pada kumpulan node awal, grup sumber daya node, kumpulan skala mesin virtual, dan setiap instans kumpulan skala komputer virtual yang terkait dengan kumpulan node awal, atur juga parameter --nodepool-tags.
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--tags dept=IT costcenter=9999 \
--generate-ssh-keys
Penting
Jika Anda menggunakan sumber daya yang ada saat membuat kluster baru, seperti alamat IP atau tabel rute, az aks create menimpa kumpulan tag. Jika Anda menghapus kluster itu nanti, tag apa pun yang ditetapkan oleh kluster akan dihapus.
Verifikasi bahwa tag telah diterapkan ke kluster dan sumber daya terkait. Tag kluster untuk myAKSCluster ditampilkan dalam contoh berikut:
$ az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
{
"clusterTags": {
"costcenter": "9999",
"dept": "IT"
}
}
Untuk memperbarui tag pada kluster yang ada, jalankan az aks update dengan parameter --tags. Menjalankan perintah memperbarui myAKSCluster dengan tag team=alpha dan costcenter=1234.
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--tags team=alpha costcenter=1234
Verifikasi bahwa tag telah diterapkan ke kluster. Contohnya:
$ az aks show -g myResourceGroup -n myAKSCluster --query '[tags]'
{
"clusterTags": {
"costcenter": "1234",
"team": "alpha"
}
}
Penting
Mengatur tag pada kluster dengan menggunakan az aks update menimpa kumpulan tag. Misalnya, jika kluster Anda memiliki tag dept=IT dan costcenter=9999 dan Anda menggunakan az aks update dengan tag team=alpha dan costcenter=1234, daftar tag baru adalah team=alpha dan costcenter=1234.
Menambahkan tag ke kumpulan node
Anda dapat menerapkan tag Azure ke kumpulan node baru atau yang sudah ada di kluster AKS Anda. Tag-tag yang diterapkan ke kumpulan simpul diterapkan ke setiap simpul dalam kumpulan simpul dan dipertahankan melalui berbagai peningkatan. Tag juga diterapkan ke node baru yang ditambahkan ke kumpulan node selama operasi peluasan skala. Menambahkan tag dapat membantu tugas-tugas seperti penelusuran kebijakan atau estimasi biaya.
Saat Anda membuat atau memperbarui kumpulan node dengan parameter --tags, tag yang Anda tentukan ditetapkan ke sumber daya berikut:
- Kumpulan node
- Grup sumber daya node
- Set skala mesin virtual dan setiap instans set skala komputer virtual yang terkait dengan kumpulan node
Untuk membuat kumpulan node dengan tag Azure, jalankan az aks nodepool add dengan parameter --tags. Menjalankan perintah berikut membuat kumpulan node tagnodepool dengan tag abtest=a dan costcenter=5555 di myAKSCluster.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name tagnodepool \
--node-count 1 \
--tags abtest=a costcenter=5555 \
--no-wait
Verifikasi bahwa tag telah diterapkan ke kumpulan node tagnodepool.
$ az aks show -g myResourceGroup -n myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
[
{
"nodepoolName": "nodepool1",
"tags": null
},
{
"nodepoolName": "tagnodepool",
"tags": {
"abtest": "a",
"costcenter": "5555"
}
}
]
Untuk memperbarui kumpulan node dengan tag Azure, jalankan az aks nodepool update dengan parameter --tags. Menjalankan perintah berikut memperbarui kumpulan node tagnodepool dengan tag appversion=0.0.2 dan costcenter=4444 di myAKSCluster, yang sudah memiliki tag abtest=a dan costcenter=5555.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name tagnodepool \
--tags appversion=0.0.2 costcenter=4444 \
--no-wait
Penting
Mengatur tag pada kumpulan node dengan menggunakan az aks nodepool update menimpa kumpulan tag. Misalnya, jika kumpulan node Anda memiliki tag abtest=a dan costcenter=5555, dan Anda menggunakan az aks nodepool update dengan tag appversion=0.0.2 dan costcenter=4444, daftar tag baru adalah appversion=0.0.2 dan costcenter=4444.
Verifikasi bahwa tag telah diperbarui pada kumpulan node.
$ az aks show -g myResourceGroup -n myAKSCluster --query 'agentPoolProfiles[].{nodepoolName:name,tags:tags}'
[
{
"nodepoolName": "nodepool1",
"tags": null
},
{
"nodepoolName": "tagnodepool",
"tags": {
"appversion": "0.0.2",
"costcenter": "4444"
}
}
]
Menambahkan tag dengan menggunakan Kubernetes
Anda dapat menerapkan tag Azure ke IP publik, disk, dan file dengan menggunakan manifes Kubernetes.
Untuk IP publik, gunakan service.beta.kubernetes.io/azure-pip-tags di bawah anotasi. Contohnya:
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/azure-pip-tags: costcenter=3333,team=beta
spec:
...
Untuk file dan disk, gunakan tag di bawah parameter. Contohnya:
---
apiVersion: storage.k8s.io/v1
...
parameters:
...
tags: costcenter=3333,team=beta
...
Penting
Mengatur tag pada file, disk, dan IP publik dengan menggunakan Kubernetes memperbarui kumpulan tag. Misalnya, jika disk Anda memiliki tag dept=IT dan costcenter=5555, dan Anda menggunakan Kubernetes guna mengatur tag team=beta dan costcenter=3333, daftar tag baru akan menjadi dept=IT, team=beta, dan costcenter=3333.
Setiap pembaruan yang Anda buat untuk tag melalui Kubernetes akan mempertahankan nilai yang ditetapkan melalui Kubernetes. Misalnya, jika disk Anda memiliki tag dept=IT dan costcenter=5555 yang ditetapkan oleh Kubernetes, dan Anda menggunakan portal guna mengatur tag team=beta dan costcenter=3333, daftar tag baru akan menjadi dept=IT, team=beta, dan costcenter=5555. Jika Anda kemudian menghapus disk melalui Kubernetes, disk akan memiliki tag team=beta.