Tutorial: Memigrasikan simpul ke Azure Linux

Dalam tutorial ini, bagian tiga dari lima, Anda akan memigrasikan node yang sudah 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.
  • Lakukan migrasi SKU sistem operasi (OS) di tempat.

Perintah dalam tutorial ini menggunakan variabel lingkungan yang diatur dalam Tutorial 1: Buat kluster dengan Azure Linux Container Host untuk AKS.

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.

Prerequisites

Note

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 memasang atau meningkatkan, lihat Memasang Azure CLI.

Mengatur variabel lingkungan

Atur variabel lingkungan berikut untuk membuat nama sumber daya unik untuk setiap penyebaran. Ganti placeholder <your-node-pool-name> dengan nama yang Anda pilih. Anda dapat secara opsional menambahkan akhiran acak untuk memastikan keunikan. Nama kumpulan simpul harus dimulai dengan huruf kecil dan hanya dapat berisi karakter alfanumerik. Untuk kumpulan simpul Linux panjangnya harus antara satu dan 12 karakter.

# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)

# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"

Menambahkan kumpulan simpul Azure Linux dan menghapus kumpulan simpul yang ada

  1. 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.

    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
    

    Contoh output:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Hapus simpul yang ada menggunakan perintah az aks nodepool delete.

Migrasi SKU OS langsung

Anda dapat memigrasikan kumpulan simpul Ubuntu yang ada ke Azure Linux dengan mengubah SKU sistem operasi kumpulan simpul, yang akan memicu pembaruan bergilir pada kluster melalui proses peningkatan image simpul standar. Fitur baru ini tidak memerlukan pembuatan kumpulan simpul baru.

Batasan migrasi SKU OS di tempat

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, Azure Linux, dan Azure Linux dengan OS Guard adalah satu-satunya target migrasi SKU OS Linux yang didukung.
  • Peluncuran Tepercaya diperlukan secara default untuk Azure Linux dengan OS Guard. Anda harus mengaktifkan Peluncuran Tepercaya agar dapat bermigrasi ke Azure Linux dengan OS Guard. Karena Anda tidak dapat mengaktifkan Peluncuran Tepercaya pada kumpulan simpul yang ada, Anda perlu membuat kumpulan simpul baru dengan Peluncuran Tepercaya diaktifkan dan memigrasikan beban kerja Anda ke kumpulan simpul tersebut.
  • Pelanggan yang hanya menggunakan ukuran komputer virtual (VM) Gen 1 tidak dapat bermigrasi ke Azure Linux dengan OS Guard karena tidak ada citra Gen 1 yang didukung. Dalam hal ini, Anda perlu membuat kumpulan simpul baru dengan ukuran VM yang mendukung Gen 2.
  • 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.

Prasyarat migrasi SKU OS di tempat

  • 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 cukup Pod Disruption Budget (PDB) agar AKS dapat memindahkan pod di antara VM selama proses upgrade.
  • Anda memerlukan Azure CLI versi 2.61.0 atau yang lebih tinggi. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang 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

Contoh output:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinux",
  "provisioningState": "Succeeded"
}

Note

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 menunjukkan Microsoft Azure Linux 3.0 sebagai gambar OS Anda dan .azl3 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.

Tip

Sebaiknya pantau kesehatan layanan Anda selama beberapa minggu sebelum memigrasikan kluster produksi Anda.

Menjalankan migrasi SKU OS pada kluster produksi Anda

  1. Perbarui templat yang sudah ada untuk mengatur OSSKU=AzureLinux. Pastikan apiVersion Anda sudah disetel ke 2023-07-01 atau yang lebih baru.

    • Templat ARM: Gunakan "OSSKU": "AzureLinux" di bagian agentPoolProfile .
    • Bicep: Gunakan osSku: "AzureLinux" di bagian agentPoolProfile.
    • Terraform: Gunakan os_sku = "AzureLinux" di bagian default_node_pool .
  2. 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.

Kembali ke SKU sistem operasi Anda sebelumnya

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.

Anda dapat mengembalikan ke SKU OS Anda sebelumnya menggunakan az aks nodepool update perintah . 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 dengan menghapus kumpulan simpul yang ada dan menambahkan kumpulan simpul Linux Azure baru atau dengan melakukan migrasi SKU OS di tempat.

Dalam tutorial berikutnya, Anda mempelajari cara mengaktifkan telemetri untuk memantau kluster Anda.