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.
Dalam tutorial ini, bagian tiga dari lima, Anda memigrasikan simpul yang ada ke Azure Linux. Anda dapat memigrasikan simpul yang ada ke Azure Linux menggunakan salah satu metode berikut:
- Hapus kumpulan simpul yang ada dan tambahkan kumpulan simpul Azure Linux baru.
- Migrasi SKU OS langsung.
Jika Anda tidak memiliki simpul yang sudah ada untuk bermigrasi ke Azure Linux, lewati tutorial berikutnya. Dalam tutorial selanjutnya, Anda mempelajari cara mengaktifkan telemetri dan pemantauan di kluster Anda dan meningkatkan simpul Azure Linux.
Prasyarat
Dalam tutorial sebelumnya, Anda membuat dan menyebarkan Azure Linux Container Host untuk kluster AKS. Untuk menyelesaikan tutorial ini, Anda perlu menambahkan kumpulan simpul Linux Azure ke kluster yang ada. Jika Anda belum melakukan langkah ini dan ingin mengikutinya, mulailah dengan Tutorial 2: Tambahkan kumpulan simpul Linux Azure ke kluster AKS yang ada.
Nota
Saat menambahkan kumpulan simpul Linux Azure baru, Anda perlu menambahkan setidaknya satu sebagai
--mode System
. Jika tidak, AKS tidak akan memungkinkan Anda menghapus kumpulan simpul yang ada.Anda memerlukan versi terbaru Azure CLI. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI.
Menambahkan kumpulan simpul Azure Linux dan menghapus kumpulan simpul yang ada
- Tambahkan kumpulan simpul Linux Azure baru menggunakan
az aks nodepool add
perintah . Perintah ini menambahkan kumpulan simpul baru ke kluster Anda dengan--mode System
bendera , yang menjadikannya kumpulan simpul sistem. Kumpulan simpul sistem diperlukan untuk kluster Azure Linux.
# Declare environment variables with a random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODE_POOL_NAME="np$RANDOM_SUFFIX"
az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
Hasil:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
"name": "systempool",
"provisioningState": "Succeeded"
}
- Hapus simpul yang ada menggunakan perintah
az aks nodepool delete
.
Migrasi SKU OS langsung
Anda sekarang dapat memigrasikan grup simpul Ubuntu yang ada ke Azure Linux dengan mengubah SKU sistem operasi dari grup simpul, yang memperbarui kluster melalui proses peningkatan gambar simpul standar. Fitur baru ini tidak memerlukan pembuatan kumpulan simpul baru.
Keterbatasan
Ada beberapa pengaturan yang dapat memblokir permintaan migrasi SKU OS. Untuk memastikan keberhasilan migrasi, tinjau panduan dan batasan berikut:
- Fitur migrasi SKU OS tidak tersedia melalui PowerShell atau portal Microsoft Azure.
- Fitur migrasi SKU OS tidak dapat mengganti nama kumpulan simpul yang ada.
- Ubuntu dan Azure Linux adalah satu-satunya target migrasi SKU OS Linux yang didukung.
- SKU OS Ubuntu dengan
UseGPUDedicatedVHD
diaktifkan tidak dapat melakukan migrasi SKU OS. - SKU OS Ubuntu dengan CVM 20.04 diaktifkan tidak dapat melakukan migrasi SKU OS.
- Pool node yang mengaktifkan Kata tidak dapat melakukan migrasi SKU sistem operasi.
- Migrasi SKU OS Windows tidak didukung.
- Migrasi SKU OS dari Mariner ke Azure Linux didukung, tetapi mengembalikan ke Mariner tidak didukung.
Prasyarat
- Kluster AKS yang sudah ada dengan minimal satu pool node Ubuntu.
- Kami menyarankan agar Anda memastikan beban kerja Anda mengonfigurasi dan berjalan dengan sukses pada host kontainer Azure Linux sebelum mencoba menggunakan fitur migrasi SKU OS dengan menyebarkan kluster Azure Linux di dev/prod dan memverifikasi layanan Anda tetap sehat.
- Pastikan fitur migrasi berfungsi untuk Anda dalam pengujian/dev sebelum menggunakan proses pada kluster produksi.
- Pastikan pod Anda memiliki Anggaran Gangguan Pod yang cukup untuk memungkinkan AKS memindahkan pod antar VM selama peningkatan.
- Anda memerlukan Azure CLI versi 2.61.0 atau yang lebih tinggi. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI. - Jika Anda menggunakan Terraform, Anda harus memiliki v3.111.0 atau yang lebih besar dari modul Terraform AzureRM.
Memigrasikan SKU OS kumpulan simpul Ubuntu Anda
- Migrasikan SKU OS dari kumpulan simpul Anda ke Azure Linux menggunakan perintah
az aks nodepool update
. Perintah ini memperbarui SKU OS untuk kumpulan simpul Anda dari Ubuntu ke Azure Linux. Perubahan SKU OS memicu operasi peningkatan segera, yang membutuhkan waktu beberapa menit untuk diselesaikan.
az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux
Hasil:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureLinux",
"provisioningState": "Succeeded"
}
Nota
Jika Anda mengalami masalah selama migrasi SKU OS, Anda dapat kembali ke SKU OS Anda sebelumnya.
Memverifikasi migrasi SKU OS
Setelah migrasi selesai pada kluster pengujian, Anda harus memverifikasi hal berikut untuk memastikan keberhasilan migrasi:
- Jika target migrasi Anda adalah Azure Linux, jalankan
kubectl get nodes -o wide
perintah . Hasil seharusnya menunjukkanCBL-Mariner/Linux
sebagai gambar OS Anda dan.cm2
pada akhir versi kernel Anda. - Jalankan perintah
kubectl get pods -o wide -A
untuk memverifikasi bahwa semua pod dan daemonset Anda berjalan pada kelompok node baru. - Jalankan perintah
kubectl get nodes --show-labels
untuk memverifikasi bahwa semua label pada node di pool node yang sudah ditingkatkan sesuai dengan yang Anda harapkan.
Petunjuk / Saran
Sebaiknya pantau kesehatan layanan Anda selama beberapa minggu sebelum memigrasikan kluster produksi Anda.
Menjalankan migrasi SKU OS pada kluster produksi Anda
- Perbarui templat yang sudah ada untuk mengatur
OSSKU=AzureLinux
. Di template ARM, Anda menggunakan"OSSKU": "AzureLinux"
di bagianagentPoolProfile
. Di Bicep, Anda menggunakanosSku: "AzureLinux"
di bagianagentPoolProfile
. Terakhir, untuk Terraform, gunakanos_sku = "AzureLinux"
di bagiandefault_node_pool
. PastikanapiVersion
Anda sudah disetel ke2023-07-01
atau yang lebih baru. - Sebarkan ulang templat ARM, Bicep, atau Terraform Anda agar kluster menerapkan pengaturan baru
OSSKU
. Selama penyebaran ini, kluster Anda berfungsi seakan-akan sedang melakukan peningkatan citra node. Kluster Anda meningkatkan kapasitas, lalu me-reboot node yang ada satu per satu ke versi gambar AKS terbaru dari varian sistem operasi baru Anda.
Pengembalian
Jika Anda mengalami masalah selama migrasi SKU OS, Anda dapat kembali ke SKU OS Anda sebelumnya. Untuk melakukan ini, Anda perlu mengubah kolom SKU OS pada template Anda dan mengirim ulang penyebaran, yang memicu operasi peningkatan lain dan memulihkan pool node ke SKU OS sebelumnya.
Nota
Migrasi SKU OS tidak mendukung mengembalikan ke OS SKU Mariner.
- Kembali ke SKU OS Anda sebelumnya menggunakan perintah
az aks nodepool update
. Perintah ini memperbarui SKU OS untuk kumpulan simpul Anda dari Azure Linux kembali ke Ubuntu.
Langkah selanjutnya
Dalam tutorial ini, Anda memigrasikan simpul yang ada ke Azure Linux menggunakan salah satu metode berikut:
- Hapus kumpulan simpul yang ada dan tambahkan kumpulan simpul Azure Linux baru.
- Migrasi SKU OS langsung.
Dalam tutorial berikutnya, Anda mempelajari cara mengaktifkan telemetri untuk memantau kluster Anda.