Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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).
Prasyarat
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.
Membuat kluster AKS dengan label
Anda dapat membuat kluster AKS dengan label simpul untuk mengatur metadata kunci/nilai untuk penjadwalan beban kerja.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX"
export AKS_CLUSTER_NAME="myAKSCluster$RANDOM_SUFFIX"
az group create --name $RESOURCE_GROUP --location $REGION
Hasil:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx",
"location": "eastus2",
"managedBy": null,
"name": "myResourceGroupxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Buat kluster AKS yang menentukan label node (misalnya, dept=IT, costcenter=9000):
az aks create \
--resource-group $RESOURCE_GROUP \
--name $AKS_CLUSTER_NAME \
--node-count 2 \
--nodepool-labels dept=IT costcenter=9000 \
--generate-ssh-keys --location $REGION
Hasil:
{
"aadProfile": null,
"addonProfiles": {},
"agentPoolProfiles": [
{
"count": 2,
"enableAutoScaling": null,
"mode": "System",
"name": "nodepool1",
"nodeLabels": {
"costcenter": "9000",
"dept": "IT"
}
}
],
"dnsPrefix": "myaksclusterxxx-dns",
"fqdn": "myaksclusterxxx-xxxxxxxx.hcp.eastus2.azmk8s.io",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxx",
"location": "eastus2",
"name": "myAKSClusterxxx",
"resourceGroup": "myResourceGroupxxx"
}
Verifikasi bahwa label telah disetel.
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER_NAME --overwrite-existing
kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
Membuat kumpulan node dengan label
Anda dapat membuat kumpulan simpul tambahan dengan label untuk kebutuhan penjadwalan tertentu.
export NODEPOOL_NAME="labelnp"
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $AKS_CLUSTER_NAME \
--name $NODEPOOL_NAME \
--node-count 1 \
--labels dept=HR costcenter=5000 \
Berikut ini adalah contoh output dari perintah az aks nodepool list
yang menunjukkan kumpulan simpul labelnp sedang membuat simpul dengan nodeLabels nodeLabels yang telah ditentukan:
az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $AKS_CLUSTER_NAME
Hasil:
[
{
"count": 2,
"name": "nodepool1",
"nodeLabels": {
"costcenter": "9000",
"dept": "IT"
}
},
{
"count": 1,
"name": "labelnp",
"nodeLabels": {
"costcenter": "5000",
"dept": "HR"
},
"provisioningState": "Creating"
}
]
Verifikasi bahwa label telah disetel:
kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
Memperbarui label pada kumpulan node yang ada
Anda dapat memperbarui label pada kumpulan simpul yang ada. Perhatikan bahwa memperbarui label akan menimpa label lama.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $AKS_CLUSTER_NAME \
--name $NODEPOOL_NAME \
--labels dept=ACCT costcenter=6000 \
Pastikan label baru ditetapkan:
kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
Label tidak tersedia
Label sistem yang dicadangkan
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.
Etiket | 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/managedby | aki | aki | T/A |
kubernetes.azure.com/mode | <modus> | 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> | namaSubjaringan | 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> | nama-set terenkripsi | T/A |
kubernetes.azure.com/accelerator | <akselerator> | nvidia | T/A |
kubernetes.azure.com/fips_enabled | <apakah fips diaktifkan?> | TRUE | 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.
Prefiks yang dicadangkan
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 yang tidak digunakan lagi
Label berikut direncanakan untuk dihentikan dengan dirilisnya Kubernetes v1.24. Anda harus mengubah referensi label apa pun ke pengganti yang direkomendasikan.
Etiket | 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 |
Profil Penyimpanan* | kubernetes.azure.com/storageprofile | Azure Kubernetes Service |
Storagetier* | kubernetes.azure.com/storagetier | Azure Kubernetes Service |
Akselerator | kubernetes.azure.com/accelerator | Azure Kubernetes Service |
*Baru dihentikan. Untuk informasi selengkapnya, lihat Catatan Rilis.
Langkah berikutnya
Pelajari lebih lanjut label Kubernetes dalam dokumentasi label Kubernetes.
Azure Kubernetes Service