Menggunakan label di kluster Azure Kubernetes Service (AKS)
Jika memiliki beberapa kumpulan node, Anda mungkin ingin menambahkan label selama pembuatan kumpulan node. Label Kubernetes menangani aturan penjadwalan untuk simpul. Anda dapat menambahkan label ke kumpulan simpul kapan saja dan menerapkannya ke semua simpul di kumpulan simpul.
Dalam panduan cara ini, Anda mempelajari cara menggunakan label di kluster Azure Kubernetes Service (AKS).
Anda memerlukan Azure CLI versi 2.2.0 atau yang lebih baru terpasang dan terkonfigurasi. Jalankan az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Buat kluster AKS dengan label menggunakan
az aks create
perintah dan tentukan--node-labels
parameter untuk mengatur label Anda. Label harus berupa pasangan kunci/nilai dan memiliki sintaks yang valid.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 2 \ --nodepool-labels dept=IT costcenter=9000 \ --generate-ssh-keys
Verifikasi bahwa label diatur menggunakan
kubectl get nodes --show-labels
perintah .kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
Buat kumpulan simpul dengan label menggunakan
az aks nodepool add
perintah dan tentukan nama untuk--name
parameter dan label untuk--labels
parameter . Label harus berupa pasangan kunci/nilai dan memiliki sintaks yang validContoh perintah berikut membuat kumpulan simpul bernama labelnp dengan label dept=HR dan costcenter=5000.
az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --node-count 1 \ --labels dept=HR costcenter=5000 \ --no-wait
Contoh output berikut dari
az aks nodepool list
perintah menunjukkan kumpulan simpul labelnp adalah Membuat simpul dengan nodeLabels yang ditentukan:[ { ... "count": 1, ... "name": "labelnp", "orchestratorVersion": "1.15.7", ... "provisioningState": "Creating", ... "nodeLabels": { "costcenter": "5000", "dept": "HR" }, ... }, ... ]
Verifikasi bahwa label diatur menggunakan
kubectl get nodes --show-labels
perintah .kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
Perbarui label pada kumpulan simpul yang ada menggunakan
az aks nodepool update
perintah . Memperbarui label pada kumpulan simpul yang ada menimpa label lama dengan label baru. Label harus berupa pasangan kunci/nilai dan memiliki sintaks yang valid.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name labelnp \ --labels dept=ACCT costcenter=6000 \ --no-wait
Verifikasi bahwa label diatur menggunakan
kubectl get nodes --show-labels
perintah .kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
Sejak rilis AKS 2021-08-19, AKS menghentikan kemampuan untuk membuat perubahan pada label yang dipesan AKS. Mencoba mengubah label ini menghasilkan pesan kesalahan.
Label berikut adalah label cadangan AKS. Penggunaan node virtual menentukan apakah label ini dapat menjadi fitur sistem yang didukung pada node virtual. Beberapa properti yang diubah fitur sistem ini tidak tersedia pada simpul virtual karena memerlukan modifikasi host.
Label | Nilai | Contoh/Opsi | Penggunaan node virtual |
---|---|---|---|
kubernetes.azure.com/agentpool | <nama kumpulan agen> | nodepool1 | Sama |
kubernetes.io/arch | amd64 | runtime.GOARCH | T/A |
kubernetes.io/os | <Jenis OS> | Linux/Windows | Sama |
node.kubernetes.io/instance-type | <Ukuran komputer virtual> | Standard_NC6s_v3 | Virtual |
topology.kubernetes.io/region | <Wilayah Azure> | westus2 | Sama |
topology.kubernetes.io/zone | <Zona Azure> | 0 | Sama |
kubernetes.azure.com/cluster | <MC_RgName> | MC_aks_myAKSCluster_westus2 | Sama |
kubernetes.azure.com/mode | <mode> | Pengguna atau sistem | Pengguna |
kubernetes.azure.com/role | agen | Agen | Sama |
kubernetes.azure.com/scalesetpriority | <Prioritas VMSS> | Spot atau biasa | T/A |
kubernetes.io/hostname | <nama host> | aks-nodepool-00000000-vmss000000 | Sama |
kubernetes.azure.com/storageprofile | <Profil penyimpanan disk OS> | Terkelola | T/A |
kubernetes.azure.com/storagetier | <Tingkat penyimpanan disk OS> | Premium_LRS | T/A |
kubernetes.azure.com/instance-sku | <Keluarga SKU> | Standard_N | Virtual |
kubernetes.azure.com/node-image-version | <Versi VHD> | AKSUbuntu-1804-2020.03.05 | Versi node virtual |
kubernetes.azure.com/subnet | <nama subnet nodepool> | subnetName | Nama subnet node virtual |
kubernetes.azure.com/vnet | <nama vnet nodepool> | vnetName | Jaringan virtual node virtual |
kubernetes.azure.com/ppg | <nama ppg nodepool> | ppgName | T/A |
kubernetes.azure.com/encrypted-set | <nama kumpulan terenkripsi nodepool> | encrypted-set-name | T/A |
kubernetes.azure.com/accelerator | <akselerator> | nvidia | T/A |
kubernetes.azure.com/fips_enabled | <apakah fips diaktifkan?> | benar | T/A |
kubernetes.azure.com/os-sku | <os/sku> | Membuat atau memperbarui SKU OS | Linux |
- Same disertakan di tempat dengan nilai yang diharapkan untuk label tidak berbeda antara kumpulan node standar dan kumpulan node virtual. Karena pod node virtual tidak memperlihatkan mesin virtual (VM) yang mendasari, nilai SKU Mesin Virtual diganti dengan Virtual SKU.
- Versi node virtual mengacu pada versi saat ini dari rilis konektor Kubelet-ACI virtual.
- Nama subnet node virtual adalah nama subnet tempat pod node virtual disebarkan ke Azure Container Instance (ACI).
- Jaringan virtual node virtual adalah nama jaringan virtual, yang berisi subnet tempat pod node virtual disebarkan di ACI.
Awalan berikut adalah awalan cadangan AKS dan tidak dapat digunakan untuk simpul apa pun:
- kubernetes.azure.com/
- kubernetes.io/
Untuk informasi selengkapnya tentang awalan yang dipesan, lihat label, anotasi, dan taint terkenal Kubernetes.
Label berikut direncanakan untuk dihentikan dengan dirilisnya Kubernetes v1.24. Anda harus mengubah referensi label apa pun ke pengganti yang direkomendasikan.
Label | Pengganti yang direkomendasikan | Pemeliharaan |
---|---|---|
failure-domain.beta.kubernetes.io/region | topology.kubernetes.io/region | Kubernetes |
failure-domain.beta.kubernetes.io/zone | topology.kubernetes.io/zone | Kubernetes |
beta.kubernetes.io/arch | kubernetes.io/arch | Kubernetes |
beta.kubernetes.io/instance-type | node.kubernetes.io/instance-type | Kubernetes |
beta.kubernetes.io/os | kubernetes.io/os | Kubernetes |
node-role.kubernetes.io/agent* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
kubernetes.io/role* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
Agentpool* | kubernetes.azure.com/agentpool | Azure Kubernetes Service |
Storageprofile* | kubernetes.azure.com/storageprofile | Azure Kubernetes Service |
Storagetier* | kubernetes.azure.com/storagetier | Azure Kubernetes Service |
Accelerator* | kubernetes.azure.com/accelerator | Azure Kubernetes Service |
*Baru dihentikan. Untuk informasi selengkapnya, lihat Catatan Rilis.
Pelajari lebih lanjut label Kubernetes dalam dokumentasi label Kubernetes.
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: