Tutorial - Meningkatkan kluster Azure Kubernetes Service (AKS)
Sebagai bagian dari aplikasi dan siklus hidup kluster, Anda mungkin ingin meningkatkan ke versi kubernetes terbaru yang tersedia. Anda dapat meningkatkan kluster Azure Kubernetes Service (AKS) menggunakan Azure CLI, Azure PowerShell, atau portal Azure.
Dalam tutorial ini, bagian tujuh dari tujuh, Anda meningkatkan kluster AKS. Anda akan mempelajari cara untuk:
- Identifikasi versi Kubernetes saat ini dan yang tersedia.
- Tingkatkan node Kubernetes Anda.
- Memvalidasi peningkatan yang berhasil.
Sebelum Anda mulai
Dalam tutorial sebelumnya, Anda mengemas aplikasi ke dalam gambar kontainer dan mengunggah gambar kontainer ke Azure Container Registry (ACR). Anda juga membuat kluster AKS dan menyebarkan aplikasi ke dalamnya. Jika Anda belum menyelesaikan langkah-langkah ini dan ingin mengikutinya, mulailah dengan Tutorial 1 - Siapkan aplikasi untuk AKS.
Jika menggunakan Azure CLI, tutorial ini memerlukan Azure CLI versi 2.34.1 atau yang lebih baru. Jalankan az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Jika menggunakan Azure PowerShell, tutorial ini memerlukan Azure PowerShell versi 5.9.0 atau yang lebih baru. Jalankan Get-InstalledModule -Name Az
untuk menemukan versinya. Jika Anda perlu menginstal atau meningkatkan, lihat Install modul Azure PowerShell.
Dapatkan versi kluster yang tersedia
Sebelum meningkatkan, periksa rilis Kubernetes mana yang tersedia untuk kluster Anda menggunakan
az aks get-upgrades
perintah .az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
Contoh output berikut menunjukkan versi saat ini sebagai 1.28.9 dan mencantumkan versi yang tersedia di bawah
upgrades
:{ "agentPoolProfiles": null, "controlPlaneProfile": { "kubernetesVersion": "1.28.9", ... "upgrades": [ { "isPreview": null, "kubernetesVersion": "1.29.4" }, { "isPreview": null, "kubernetesVersion": "1.29.2" } ] }, ... }
Meningkatkan kluster AKS
Simpul AKS disambungkan dan dikosongkan dengan hati-hati untuk meminimalkan potensi gangguan pada aplikasi yang berjalan. Selama proses ini, AKS melakukan langkah-langkah berikut:
- Menambahkan simpul buffer baru (atau node sebanyak yang dikonfigurasi dalam lonjakan maks) ke kluster yang menjalankan versi Kubernetes yang ditentukan.
- Cordon dan menguras salah satu node lama untuk meminimalkan gangguan pada aplikasi yang sedang berjalan. Jika Anda menggunakan lonjakan maks, itu menghubungkan dan menguras sebanyak simpul pada saat yang sama dengan jumlah simpul buffer yang ditentukan.
- Ketika simpul lama sepenuhnya dikosongkan, simpul ini dicitrakan ulang untuk menerima versi baru dan menjadi simpul buffer untuk simpul berikut yang akan ditingkatkan.
- Proses ini berulang hingga semua simpul dalam kluster telah ditingkatkan.
- Pada akhir proses, simpul buffer terakhir dihapus, mempertahankan jumlah simpul agen dan keseimbangan zona yang ada.
Catatan
Jika tidak ada patch yang ditentukan, kluster secara otomatis meningkatkan ke patch GA terbaru versi minor yang ditentukan. Misalnya, pengaturan --kubernetes-version
untuk 1.28
menghasilkan kluster yang ditingkatkan ke 1.28.9
.
Untuk informasi selengkapnya, lihat Peningkatan versi minor Kubernetes yang didukung di AKS.
Anda dapat meningkatkan kluster secara manual atau mengonfigurasi peningkatan kluster otomatis. Sebaiknya konfigurasikan peningkatan kluster otomatis untuk memastikan kluster Anda selalu menjalankan versi terbaru Kubernetes.
Meningkatkan kluster secara manual
Tingkatkan kluster Anda menggunakan
az aks upgrade
perintah .az aks upgrade \ --resource-group myResourceGroup \ --name myAKSCluster \ --kubernetes-version KUBERNETES_VERSION
Anda akan diminta untuk mengonfirmasi operasi peningkatan, dan untuk mengonfirmasi bahwa Anda ingin meningkatkan sarana kontrol dan semua kumpulan simpul ke versi Kubernetes yang dipilih:
Are you sure you want to perform this operation? (y/N): y Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.29.2. Continue? (y/N): y
Catatan
Anda hanya dapat memutakhirkan satu versi minor sekaligus. Misalnya, Anda dapat meningkatkan dari 1.14.x ke 1.15.x, tetapi Anda tidak dapat meningkatkan dari 1.14.x ke 1.16.x secara langsung. Untuk meningkatkan dari 1.14.x ke 1.16.x, Anda harus terlebih dahulu meningkatkan dari 1.14.x ke 1.15.x, lalu melakukan peningkatan lain dari 1.15.x ke 1.16.x.
Contoh output berikut menunjukkan hasil peningkatan ke 1.29.2. Perhatikan sekarang
kubernetesVersion
menunjukkan 1.29.2:{ ... "agentPoolProfiles": [ { ... "count": 3, "currentOrchestratorVersion": "1.29.2", "maxPods": 110, "name": "nodepool1", "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202405.27.0", "orchestratorVersion": "1.29.2", "osType": "Linux", "upgradeSettings": { "drainTimeoutInMinutes": null, "maxSurge": "10%", "nodeSoakDurationInMinutes": null, "undrainableNodeBehavior": null }, "vmSize": "Standard_DS2_v2", ... } ], ... "currentKubernetesVersion": "1.29.2", "dnsPrefix": "myAKSClust-myResourceGroup-19da35", "enableRbac": false, "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io", "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster", "kubernetesVersion": "1.29.2", "location": "eastus", "name": "myAKSCluster", "type": "Microsoft.ContainerService/ManagedClusters" ... }
Mengonfigurasi peningkatan kluster otomatis
Atur saluran peningkatan otomatis pada kluster Anda menggunakan
az aks update
perintah dengan parameter yang--auto-upgrade-channel
diatur kepatch
.az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel patch
Untuk informasi selengkapnya, lihat Meningkatkan kluster Azure Kubernetes Service (AKS) secara otomatis.
Meningkatkan gambar simpul AKS
AKS secara teratur menyediakan gambar node baru. Gambar simpul Linux diperbarui setiap minggu, dan gambar simpul Windows diperbarui setiap bulan. Sebaiknya tingkatkan gambar node Anda secara sering untuk menggunakan fitur AKS terbaru dan pembaruan keamanan. Untuk informasi selengkapnya, lihat Meningkatkan gambar simpul di Azure Kubernetes Service (AKS). Untuk mengonfigurasi peningkatan gambar simpul otomatis, lihat Secara otomatis meningkatkan citra sistem operasi simpul kluster Azure Kubernetes Service (AKS).
Menampilkan peristiwa peningkatan
Catatan
Saat Anda meningkatkan kluster, peristiwa Kubernetes berikut mungkin terjadi pada simpul:
- Lonjakan: Buat simpul lonjakan.
- Pengurasan: Keluarkan pod dari simpul. Setiap pod memiliki batas waktu lima menit untuk menyelesaikan pengeluaran.
- Pembaruan: Pembaruan simpul telah berhasil atau gagal.
- Hapus: Hapus node lonjakan.
Lihat peristiwa peningkatan di namespace default menggunakan
kubectl get events
perintah .kubectl get events --field-selector source=upgrader
Contoh output berikut menunjukkan beberapa peristiwa di atas yang tercantum selama peningkatan:
LAST SEEN TYPE REASON OBJECT MESSAGE ... 5m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 5m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Deleting node aks-nodepool1-96663640-vmss000000 from API server 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully reimaged node: aks-nodepool1-96663640-vmss000000 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully upgraded node: aks-nodepool1-96663640-vmss000000 4m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 ...
Memvalidasi pemutakhiran
Konfirmasikan bahwa pemutakhiran berhasil menggunakan
az aks show
perintah .az aks show --resource-group myResourceGroup --name myAKSCluster --output table
Contoh output berikut menunjukkan kluster AKS menjalankan KubernetesVersion 1.27.3:
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------------ ------------------- ---------------------------------------------------------------- myAKSCluster eastus myResourceGroup 1.29.2 1.29.2 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io
Menghapus kluster
Karena tutorial ini adalah bagian terakhir dari seri ini, Anda mungkin ingin menghapus kluster AKS Anda untuk menghindari dikenakan biaya Azure.
Hapus grup sumber daya, layanan kontainer, dan semua sumber daya terkait menggunakan
az group delete
perintah .az group delete --name myResourceGroup --yes --no-wait
Catatan
Saat Anda menghapus kluster, perwakilan layanan Microsoft Entra yang digunakan oleh kluster AKS tidak dihapus. Untuk langkah tentang cara menghapus perwakilan layanan, lihat Pertimbangan dan penghapusan perwakilan layanan AKS. Jika Anda menggunakan identitas terkelola, identitas dikelola oleh platform dan tidak mengharuskan Anda menyediakan atau memutar rahasia apa pun.
Langkah berikutnya
Dalam tutorial ini, Anda memutakhirkan Kubernetes dalam kluster AKS. Anda mempelajari cara untuk:
- Identifikasi versi Kubernetes saat ini dan yang tersedia.
- Tingkatkan node Kubernetes Anda.
- Memvalidasi peningkatan yang berhasil.
Untuk informasi selengkapnya tentang AKS, lihat gambaran umum AKS. Untuk panduan tentang cara membuat solusi lengkap dengan AKS, lihat panduan solusi AKS.
Azure Kubernetes Service