All Products
Search
Document Center

Container Service for Kubernetes:Upgrade kelompok node

Last Updated:Oct 17, 2026

Setelah meng-upgrade control plane kluster, segera lakukan upgrade pada kelompok node selama jam sepi. ACK melakukan Pemeriksaan Awal risiko sebelum memperbarui kubelet dan container runtime untuk meminimalkan gangguan layanan.

Pertimbangan

  • Persiapan

    • Proses upgrade kluster menggunakan yum untuk mengunduh paket perangkat lunak yang diperlukan. Jika Anda mengubah konfigurasi jaringan node secara manual atau menggunakan citra sistem operasi (OS) kustom, pastikan yum berfungsi dengan benar pada node tersebut. Jalankan yum makecache untuk memverifikasi.

    • ACK tidak memvalidasi citra OS kustom secara penuh dan tidak dapat menjamin keberhasilan upgrade citra tersebut.

    • Jika Anda mengubah konfigurasi kluster, misalnya mengaktifkan swap atau menggunakan metode non-standar seperti masuk ke node (Sesuaikan konfigurasi kubelet kelompok node) untuk mengubah konfigurasi kubelet atau runtime, proses upgrade kluster mungkin gagal atau menimpa konfigurasi kustom Anda.

    • Setelah meng-upgrade kluster ke versi 1.18, ACK mengonfigurasi Kebijakan pemesanan resource node secara default. Jika pemesanan resource tidak dikonfigurasi dan penggunaan resource node tinggi, Pod mungkin tidak terjadwal segera setelah dievakuasi. Cadangkan resource untuk node Anda dengan menjaga penggunaan CPU tetap di bawah 50% dan penggunaan memori di bawah 70%.

    • Pada kluster yang menjalankan versi 1.24 atau lebih lama, Pod yang hanya dikonfigurasi dengan startup probe akan memasuki status NotReady sesaat setelah kubelet di-restart. Terapkan workload dengan multiple replika di seluruh node agar ketersediaan Pod tetap terjaga selama restart node.

    • Pastikan setidaknya 20% kapasitas disk tetap kosong untuk mencegah evakuasi Pod akibat kapasitas disk yang tidak mencukupi selama upgrade.

  • Batasan upgrade kelompok node

    • Upgrade kelompok node hanya mendukung operasi scale-out. Operasi scale-in tidak didukung.

    • Jika Anda memiliki worker node yang tidak terkelola dan tidak termasuk dalam kelompok node, lakukan migrasi. Untuk informasi selengkapnya, lihat Migrasi node yang tidak terkelola ke kelompok node.

    • Selama upgrade penggantian disk, ACK menginisialisasi ulang node berdasarkan konfigurasi kelompok node saat ini, termasuk metode login, label, taint, citra OS, dan versi runtime. Perbarui konfigurasi kelompok node seperti yang dijelaskan dalam Edit kelompok node. Perubahan yang dilakukan melalui metode lain akan ditimpa selama upgrade.

    • Jika Pod pada node mereferensikan HostPath yang mengarah ke sistem disk, data dalam direktori HostPath akan hilang setelah upgrade penggantian disk.

    • Saat meng-upgrade kelompok node pada kluster versi 1.31 atau lebih lama, proses tersebut juga meng-upgrade NVIDIA Device Plugin dan mereset semua konfigurasi non-standarnya.

  • node scaling dan penjadwalan

    • Jika node scaling diaktifkan, ACK secara otomatis memperbarui cluster-autoscaler ke versi terbaru setelah upgrade kluster agar penskalaan tetap tersedia. Verifikasi bahwa cluster-autoscaler telah diperbarui. Untuk informasi selengkapnya, lihat Aktifkan penyesuaian otomatis node.

    • Selama upgrade kluster, node dengan Scaling Mode diatur ke Swift mungkin gagal di-upgrade karena dimatikan. Jika ada node yang belum di-upgrade karena Swift diaktifkan, hapus node tersebut secara manual.

  • Jaringan dan ketersediaan layanan

    • Jika Pod mengakses Pod lain pada node yang sama melalui alamat SLB dari Service LoadBalancer, dan externalTrafficPolicy diatur ke Local, rotasi node mungkin menempatkan Pod pada node yang berbeda sehingga mengganggu konektivitas.

    • Selama upgrade penggantian disk, ACK mengosongkan node dan mengevakuasi Pod ke node lain yang tersedia dengan mematuhi Pod Disruption Budget (PDB). Untuk memastikan Ketersediaan tinggi, terapkan workload dengan multiple replika di seluruh node dan konfigurasikan PDB untuk layanan penting guna membatasi gangguan Pod secara bersamaan.

      Timeout default untuk mengosongkan node adalah 30 menit. Jika migrasi Pod tidak selesai dalam periode ini, ACK menghentikan upgrade untuk menjaga stabilitas layanan.

Fitur

Upgrade kelompok node menyediakan operasi berikut:

  • Upgrade kubelet: Meng-upgrade kubelet pada setiap node ke versi control plane. Upgrade in-place digunakan secara default.

  • Upgrade container runtime: Meng-upgrade container runtime pada node ketika versi runtime yang lebih baru tersedia.

    • Migrasi dari Docker ke containerd melakukan upgrade penggantian disk, yang menggantikan sistem disk pada setiap node dan menghapus semua data di dalamnya. Backup data sistem disk yang penting sebelum upgrade. Untuk informasi selengkapnya, lihat Migrasi container runtime node dari Docker ke containerd.

    • Kecuali untuk node ContainerOS, meng-upgrade containerd ke versi yang lebih baru menggunakan upgrade in-place secara default. ACK mengganti /etc/containerd/config.toml pada setiap node dengan versi yang disediakan oleh ACK.

      Penting
      • Node ContainerOS tidak mendukung upgrade containerd in-place. Gunakan upgrade penggantian disk. Untuk informasi selengkapnya, lihat Upgrade versi ContainerOS sebelum 3.4 ke versi terbaru.

      • Selama upgrade container runtime, probe Pod dan lifecycle hook mungkin gagal, serta Pod mungkin di-restart secara in-place.

    • Pada kluster yang menjalankan Kubernetes versi sebelum 1.24, meng-upgrade Docker menggunakan upgrade penggantian disk secara default dan menghapus semua data sistem disk. Backup data sistem disk yang penting sebelum upgrade.

Prosedur

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Nodes > Node Pools.

  3. Pada halaman Node Pools, temukan kelompok node target, klik ikon image di kolom Actions, lalu pilih Kubelet Update. Konfigurasikan parameter berikut.

    Parameter

    Deskripsi

    Kubelet Update Information

    Lihat versi kubelet saat ini dan pilih versi target.

    Runtime Update Information

    Lihat versi container runtime saat ini dan pilih versi target.

    • Migrasi dari Docker ke containerd melakukan upgrade penggantian disk, yang menggantikan sistem disk pada setiap node dan menghapus semua data di dalamnya. Untuk informasi selengkapnya, lihat Migrasi container runtime node dari Docker ke containerd.

    • Kluster yang menjalankan Kubernetes 1.22 dengan containerd 1.6.34 terinstal tidak mendukung upgrade runtime.

    Update Nodes

    Pilih node yang akan di-upgrade: semua atau tertentu.

    Metode upgrade

    Pilih In-place Upgrade atau Upgrade by Replacing System Disk. Lihat Referensi: Upgrade in-place dan penggantian disk.

    • In-place Upgrade: ACK memperbarui komponen yang diperlukan langsung pada node yang ada. Upgrade in-place tidak mengganti sistem disk atau menginisialisasi ulang node, dan data pada node tetap dipertahankan.

    • Upgrade by Replacing System Disk: ACK menginisialisasi ulang node dengan mengganti sistem disknya. Atribut instans seperti nama, ID, dan alamat IP tetap tidak berubah, tetapi data sistem disk dihapus. Data disk yang terpasang tidak terpengaruh.

    Ignore Warnings

    Apakah akan melanjutkan jika Pemeriksaan Awal melaporkan peringatan. Misalnya, pod menggunakan hostPath yang mengarah ke sistem disk.

    Batch Update Policy

    Maximum Number of Nodes per Batch

    Node di-upgrade secara bertahap hingga batas maksimum ini. Lihat Referensi: Upgrade in-place dan penggantian disk.

    Automatic Pause Policy

    Menentukan kapan upgrade dijeda secara otomatis.

    Interval Between Batches

    Mengatur interval antar-batch saat jeda otomatis dinonaktifkan. Nilai yang valid: 5 hingga 120 menit.

    Auto Snapshot

    Untuk mem-backup dan memulihkan data bisnis penting pada sistem disk node, buat snapshot sebelum meng-upgrade kelompok node. Snapshot dikenakan biaya (lihat Penagihan snapshot), dan kemajuan pembuatannya berubah secara dinamis. Setelah upgrade, hapus snapshot yang tidak diperlukan.

    Catatan

    Untuk upgrade penggantian disk, pertimbangkan untuk mengaktifkan pembuatan snapshot otomatis. Biaya snapshot berlaku. Untuk detail penagihan, lihat Penagihan snapshot.

  4. Setelah mengonfigurasi parameter, klik Precheck. Jika Pemeriksaan Awal berhasil, ikuti instruksi di layar untuk memulai upgrade.

    Catatan

    Jika Pemeriksaan Awal gagal atau mengembalikan peringatan, lihat Perbaikan untuk item pemeriksaan yang gagal atau lihat Check Report untuk memecahkan masalah.

    Tindakan berikut tersedia selama upgrade:

    • Pause: Menempatkan kelompok node dalam status sementara. Hindari operasi kluster lainnya dan selesaikan upgrade segera. Upgrade yang dijeda lebih dari tujuh hari akan dihentikan secara otomatis, serta event dan log terkait akan dihapus.

      Versi kubelet dan container runtime pada node yang telah di-upgrade tidak dapat dikembalikan (rollback).

    • Cancel: Membatalkan upgrade. Setelah Anda mengklik Cancel, versi kubelet dan container runtime pada node yang telah di-upgrade tidak dapat dikembalikan.

    Untuk memverifikasi upgrade, buka halaman Nodes, klik nama node, dan verifikasi bahwa versi kubelet dan container runtime pada tab Basic Information sudah sesuai harapan.

Referensi: Upgrade in-place dan penggantian disk

Proses upgrade

Upgrade in-place dan penggantian disk menggunakan proses Batch yang sama. ACK pertama-tama menjalankan Pemeriksaan Awal pada setiap node. Node yang gagal akan dilewati, sedangkan node yang lulus akan di-upgrade secara bertahap berdasarkan Maximum Parallel Nodes per Batch. Setiap Batch berisi tidak lebih dari jumlah maksimum yang dikonfigurasi, dan Batch berikutnya dimulai setelah Batch saat ini selesai.

Misalnya, jika maksimum adalah 2, ACK meng-upgrade hingga dua node dalam setiap Batch. Jika maksimum adalah 100, ACK meng-upgrade hingga 100 node dalam setiap Batch. Nilai yang valid adalah 1 hingga 100.

Gambar berikut menunjukkan upgrade ketika maksimum diatur ke 1, 2, atau N. Setiap Batch meng-upgrade masing-masing 1, 2, atau N node.

Logika upgrade in-place

  1. Lakukan Pemeriksaan Awal. Jika ditemukan pengecualian kritis dalam Kontainer (misalnya, permintaan ttrpc tidak dapat dilayani atau proses Kontainer tidak merespons sinyal), upgrade akan dihentikan.

  2. Simpan status Kontainer dan Pod saat ini ke direktori temporary.

  3. Upgrade containerd, crictl, dan file konfigurasi terkait ke versi yang disediakan oleh ACK, lalu restart containerd. Kontainer yang sedang berjalan tidak terpengaruh. Jika Anda mengubah /etc/containerd/config.toml pada node, upgrade akan menimpa perubahan Anda.

  4. Pastikan kubelet berjalan dengan baik dan node siap.

Logika upgrade penggantian disk

  1. Lakukan pengosongan node. Jika node dapat dijadwalkan, sistem mengaturnya menjadi tidak dapat dijadwalkan.

  2. Matikan instans ECS, yang akan menghentikan node.

  3. Ganti sistem disk. ID sistem disk berubah, tetapi tipe cloud disk, alamat IP instans, dan alamat MAC elastic network interface tetap sama.

  4. Inisialisasi ulang node.

  5. Restart node. Node menjadi siap dan diatur agar dapat dijadwalkan.

    Jika node tidak dapat dijadwalkan sebelum upgrade, node akan tetap tidak dapat dijadwalkan setelahnya.

FAQ

Rollback setelah upgrade

Versi kubelet dan container runtime tidak dapat dikembalikan setelah upgrade. OS hanya dapat dikembalikan jika kelompok node masih mendukung citra asli.

Dampak layanan selama upgrade

Upgrade in-place: Pod tidak di-restart sehingga layanan tidak terpengaruh.

Upgrade penggantian disk: ACK mengosongkan setiap node. Layanan tetap tersedia jika Pod menerapkan shutdown yang mulus (lihat Graceful shutdown dan deployment tanpa downtime di Kubernetes) dan replika berjalan di beberapa node. Tetapkan jumlah maksimum upgrade konkuren lebih rendah dari jumlah replika Pod untuk menghindari meng-upgrade beberapa replika dalam Batch yang sama.

Durasi batch upgrade

Upgrade in-place: Dalam 5 menit.

Upgrade penggantian disk: Biasanya dalam 8 menit jika tidak ada Snapshot yang dibuat. Jika Snapshot diaktifkan, upgrade dimulai setelah pembuatan Snapshot, dan Durasi bergantung pada waktu pembuatan Snapshot. ACK menunggu hingga 40 menit untuk pembuatan Snapshot. Jika Snapshot tidak selesai dalam 40 menit, upgrade node mengalami timeout sebelum operasi upgrade dimulai pada node tersebut. Jika Anda tidak menyimpan data bisnis pada sistem disk, Anda dapat melewati pembuatan Snapshot untuk menghindari memperpanjang Durasi upgrade.

Kehilangan data selama upgrade

Saat meng-upgrade container runtime dengan mengganti sistem disk, backup data sistem disk yang penting terlebih dahulu. Data disk tidak terpengaruh.

Perubahan alamat IP setelah penggantian

Ketika sistem disk diganti, ID-nya berubah, tetapi tipe cloud disk, alamat IP instans, dan alamat MAC elastic network interface tetap sama. Lihat Ganti sistem disk (ubah OS).

Meng-upgrade node yang tidak terkelola

Kluster yang dibuat sebelum kelompok node diperkenalkan mungkin berisi node yang tidak terkelola. Migrasikan node ke kelompok node sebelum meng-upgradenya. Untuk informasi selengkapnya, lihat Migrasi node yang tidak terkelola ke kelompok node.

Direktori Docker yang tersisa setelah migrasi

Direktori Docker berisi file yang dikelola Kubernetes (Kontainer, image, log) dan jalur kustom apa pun yang Anda buat. Hapus direktori tersebut dari data disk setelah beralih runtime jika tidak lagi diperlukan.

Memulihkan data dari snapshot

Snapshot node yang dibuat selama upgrade kelompok node disimpan selama tujuh hari secara default dan dapat dihapus lebih awal. Untuk memulihkan dari kehilangan data setelah upgrade, gunakan salah satu metode berikut.

Mengatasi masalah dentry negatif

Upgrade kubelet atau containerd menjalankan systemctl daemon-reload. systemd kemudian menggunakan inotify untuk memantau direktori yang terkait dengan unit .path dan direktori induknya, termasuk /, /run, dan /run/systemd secara default. Jumlah inode yang besar di direktori ini dapat menyebabkan soft lockup kernel dan mengganggu node.

Karena jumlah inode di direktori ini tidak dapat diperoleh secara langsung, bersihkan dentry selama jam sepi dengan menjalankan perintah berikut:

echo 2 > /proc/sys/vm/drop_caches
Jika Anda mengonfirmasi bahwa direktori yang terkait dengan unit .path dan direktori induknya tidak mengandung sejumlah besar inode, pilih Ignore Warnings untuk melewati pemeriksaan.

Referensi