All Products
Search
Document Center

Container Service for Kubernetes:Tingkatkan kelompok node

Last Updated:Jun 18, 2026

Saat meningkatkan versi Kubernetes kluster, selesaikan peningkatan kelompok node segera setelah peningkatan lapisan kontrol, selama jam sepi. Peningkatan kelompok node mencakup peningkatan kubelet dan runtime kontainer. Sebelum peningkatan, ACK menjalankan pemeriksaan awal untuk mengidentifikasi faktor risiko agar peningkatan berjalan lancar.

Pertimbangan

  • Pemeriksaan awal

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

    • ACK tidak memvalidasi secara ketat citra OS kustom. Oleh karena itu, keberhasilan peningkatan tidak dapat dijamin.

    • Jika Anda melakukan perubahan konfigurasi pada kluster, seperti mengaktifkan partisi SWAP atau memodifikasi konfigurasi kubelet atau runtime melalui operasi command-line, peningkatan kluster mungkin gagal atau konfigurasi kustom Anda akan ditimpa.

    • Setelah Anda meningkatkan kluster ke versi 1.18, ACK mengonfigurasi Kebijakan Pemesanan Sumber Daya Node secara default. Jika pemesanan sumber daya tidak dikonfigurasi dan penggunaan sumber daya node tinggi, pod mungkin tidak dijadwalkan tepat waktu setelah dievakuasi. Pesan sumber daya untuk node Anda. Pertahankan penggunaan CPU pada atau di bawah 50% dan penggunaan memori pada atau di bawah 70%.

    • Pada kluster yang menjalankan versi 1.24 atau lebih lama, jika pod workload hanya dikonfigurasi dengan Startup Probe, pod tersebut akan masuk ke status NotReady sebentar setelah kubelet dimulai ulang. Terapkan workload dengan beberapa replika di berbagai node. Hal ini memastikan bahwa cukup banyak pod tetap tersedia jika suatu node dimulai ulang.

    • Pertahankan setidaknya 20% ruang disk kosong. Hal ini mencegah evakuasi pod akibat kapasitas disk yang tidak mencukupi selama peningkatan.

  • Batasan peningkatan kelompok node

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

    • Jika Anda memiliki node pekerja unmanaged yang tidak termasuk dalam kelompok node, migrasikan node tersebut. Untuk informasi selengkapnya, lihat Migrasikan node unmanaged ke kelompok node.

    • Peningkatan kelompok node Lingjun tidak didukung selama peningkatan kluster ACK.

    • Saat Anda meningkatkan node dengan mengganti disk mereka, ACK menginisialisasi ulang node tersebut berdasarkan konfigurasi kelompok node saat ini. Ini mencakup metode logon, label, taint, citra OS, dan versi runtime. Untuk memperbarui konfigurasi kelompok node, lihat Edit kelompok node. Jika Anda memodifikasi node dengan cara lain, peningkatan akan menimpa perubahan Anda.

    • Jika sebuah pod pada node mereferensikan HostPath yang mengarah ke disk sistem, data dalam direktori HostPath akan hilang setelah peningkatan dengan penggantian disk.

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

  • node scaling dan penjadwalan

    • Jika fitur node scaling diaktifkan pada kluster, cluster-autoscaler secara otomatis diperbarui ke versi terbaru setelah peningkatan berhasil untuk memastikan fitur auto scaling tidak terpengaruh. Setelah kluster ditingkatkan, konfirmasi bahwa versi cluster-autoscaler sudah benar. Untuk informasi selengkapnya, lihat Aktifkan penyesuaian otomatis node.

    • Selama peningkatan kluster, node dengan Scaling Mode yang diatur ke Swift mungkin gagal ditingkatkan karena dimatikan. Jika ada node yang tidak ditingkatkan karena Swift setelah peningkatan selesai, kami menyarankan Anda menghapusnya secara manual.

  • Jaringan dan ketersediaan layanan

    • Jika sebuah pod menggunakan alamat SLB dari layanan LoadBalancer untuk mengakses pod lain pada node yang sama, dan externalTrafficPolicy layanan tersebut diatur ke Local, kedua pod tersebut mungkin tidak lagi berada pada node yang sama setelah rotasi node. Hal ini dapat menyebabkan koneksi jaringan gagal.

    • Saat Anda meningkatkan node dengan mengganti disk mereka, ACK melakukan draining terhadap node tersebut. Proses ini mengevakuasi pod ke node aktif lainnya sambil menghormati Pod Disruption Budget (PDB). Untuk memastikan ketersediaan tinggi, terapkan workload dengan beberapa replika di berbagai node. Selain itu, konfigurasikan PDB untuk layanan kritis guna mengontrol jumlah pod yang dapat terganggu secara bersamaan.

      Timeout default untuk draining node adalah 30 menit. Jika migrasi pod tidak selesai dalam periode timeout tersebut, ACK menghentikan peningkatan untuk memastikan stabilitas layanan.

Fitur

Peningkatan kelompok node mencakup peningkatan kubelet dan runtime kontainer.

  • Peningkatan Kubelet: Kubelet pada setiap node kelompok node ditingkatkan agar sesuai dengan versi lapisan kontrol. Metode default: peningkatan in-place.

  • Peningkatan runtime kontainer: Tingkatkan runtime kontainer pada node saat versi baru tersedia.

    • Migrasi dari Docker ke containerd mengganti disk sistem pada node kelompok node, menghapus semua data disk sistem. Backup data penting sebelum peningkatan. Lihat Migrasikan runtime kontainer node dari Docker ke containerd.

    • Kecuali untuk node ContainerOS, peningkatan dari satu versi containerd ke versi yang lebih baru secara default melakukan peningkatan in-place. File /etc/containerd/config.toml pada node diganti dengan versi baru yang disediakan oleh ACK.

      Penting
    • Pada kluster yang menjalankan Kubernetes 1.24 atau lebih lama, peningkatan Docker secara default mengganti disk sistem pada node kelompok node, menghapus semua data disk sistem. Backup data penting sebelum peningkatan.

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 runtime kontainer saat ini dan pilih versi target.

    Update Nodes

    Pilih node yang akan ditingkatkan: semua atau tertentu saja.

    Upgrade method

    Pilih In-place Upgrade atau Upgrade by Replacing System Disk. Lihat Referensi: In-place upgrade dan upgrade dengan mengganti disk sistem.

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

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

    Ignore Warnings

    Apakah akan dilanjutkan jika pemeriksaan awal melaporkan peringatan. Misalnya, sebuah pod menggunakan hostPath yang mengarah ke disk sistem.

    Batch Update Policy

    Maximum Number of Nodes per Batch

    Node ditingkatkan secara bertahap hingga jumlah maksimum ini. Lihat Referensi: In-place upgrade dan upgrade dengan mengganti disk sistem.

    Automatic Pause Policy

    Kebijakan jeda untuk proses peningkatan.

    Interval Between Batches

    Interval antar batch saat tidak ada jeda otomatis yang dikonfigurasi. Nilai valid: 5 hingga 120 menit.

    Auto Snapshot

    Jika disk sistem node berisi data penting, buat snapshot sebelum meningkatkan kelompok node. Snapshot dikenai biaya (lihat penagihan Snapshot), dan progres pembuatan berubah secara dinamis. Setelah peningkatan, hapus snapshot yang tidak diperlukan.

    Catatan

    Jika Anda memilih Upgrade by replacing system disk, aktifkan pembuatan snapshot otomatis. Snapshot dikenai biaya. Lihat penagihan Snapshot.

  4. Klik Precheck. Setelah pemeriksaan awal berhasil, ikuti petunjuk di layar untuk memulai peningkatan.

    Catatan

    Jika pemeriksaan awal gagal atau mengembalikan peringatan, lihat Perbaikan untuk item pemeriksaan yang gagal atau lihat Check Report untuk pemecahan masalah.

    Selama peningkatan, Anda dapat:

    • Pause: Menempatkan kelompok node dalam keadaan antara. Hindari operasi kluster lain dan selesaikan peningkatan segera. Peningkatan yang dijeda lebih dari tujuh hari akan secara otomatis dihentikan, dan event serta log terkait akan dihapus.

      Anda tidak dapat melakukan rollback versi kubelet atau runtime kontainer pada node yang telah ditingkatkan.

    • Cancel: Membatalkan peningkatan. Setelah mengklik Cancel, Anda tidak dapat melakukan rollback versi kubelet atau runtime kontainer pada node yang telah ditingkatkan.

    Untuk memverifikasi, buka halaman Nodes, klik nama node, lalu periksa versi kubelet dan runtime kontainer pada tab Basic Information.

Peningkatan in-place dan penggantian

Proses peningkatan

Kedua metode—peningkatan in-place dan peningkatan dengan mengganti disk sistem—mengikuti proses ini. Peningkatan kelompok node memproses node secara bertahap, dimulai dari 1 dan menggandakan jumlahnya (1, 2, 4, 8...) hingga mencapai jumlah maksimum konkuren. Misalnya, dengan maksimum 4: batch 1 meningkatkan 1 node, batch 2 meningkatkan 2 node, lalu semua batch berikutnya meningkatkan 4 node.

Gambar berikut menunjukkan eksekusi batch dengan N node konkuren maksimum. Ukuran batch adalah 1, 2, 4, 8... hingga mencapai N.

Logika peningkatan in-place

  1. Lakukan pemeriksaan awal. Jika ditemukan pengecualian kritis pada kontainer (misalnya, permintaan ttrpc tidak dapat dilayani atau proses kontainer tidak merespons sinyal), peningkatan dihentikan.

  2. Simpan status kontainer dan pod saat ini ke direktori temporary.

  3. Tingkatkan containerd, crictl, dan file konfigurasi terkait ke versi baru yang disediakan oleh ACK, lalu mulai ulang containerd. Tindakan ini tidak memengaruhi kontainer yang sedang berjalan. Jika sebelumnya Anda memodifikasi file konfigurasi /etc/containerd/config.toml pada node, perubahan Anda akan ditimpa oleh peningkatan ini.

  4. Pastikan kubelet berjalan dengan baik dan node siap.

Logika peningkatan penggantian

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

  2. Matikan instans ECS, yang menghentikan node.

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

  4. Inisialisasi ulang node.

  5. Mulai ulang node. Node menjadi siap dan diatur kembali sebagai dapat dijadwalkan.

    Jika node sebelumnya tidak dapat dijadwalkan sebelum peningkatan, status tersebut tetap tidak berubah setelah peningkatan.

FAQ

Rollback setelah peningkatan

Anda tidak dapat melakukan rollback versi kubelet dan runtime kontainer setelah peningkatan. Anda dapat melakukan rollback OS, tetapi hanya jika kelompok node masih mendukung citra aslinya.

Dampak layanan selama peningkatan

Peningkatan in-place: Pod tidak dimulai ulang, sehingga layanan tidak terpengaruh.

Peningkatan dengan mengganti disk sistem: Metode ini melakukan draining node. Layanan tetap berjalan tanpa gangguan jika pod menerapkan shutdown yang mulus (lihat Graceful shutdown and zero downtime deployments in Kubernetes) dan memiliki beberapa replika di berbagai node. Atur jumlah peningkatan konkuren di bawah jumlah replika Anda untuk menghindari peningkatan beberapa replika secara bersamaan.

Durasi batch peningkatan

Peningkatan in-place: Kurang dari 5 menit.

Peningkatan dengan mengganti disk sistem: Biasanya di bawah 8 menit tanpa snapshot. Dengan snapshot, peningkatan dimulai setelah pembuatan snapshot selesai, dan total waktu tergantung pada waktu pembuatan snapshot. Kelompok node mengizinkan hingga 40 menit untuk pembuatan snapshot. Jika pembuatan snapshot melebihi 40 menit, peningkatan timeout dan gagal. Lewati pembuatan snapshot jika tidak ada data bisnis di disk sistem.

Kehilangan data selama peningkatan

Saat meningkatkan runtime kontainer dengan mengganti disk sistem, backup data penting pada disk sistem terlebih dahulu. Disk data tidak terpengaruh.

Perubahan alamat IP setelah penggantian

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

Meningkatkan node tidak terkelola

Kluster yang dibuat sebelum fitur kelompok node diperkenalkan mungkin berisi node unmanaged. Anda dapat memigrasikan node unmanaged tersebut ke kelompok node lalu meningkatkan kelompok node tersebut. Lihat Migrasikan node unmanaged ke kelompok node.

Direktori Docker yang tersisa setelah migrasi

Direktori Docker berisi file yang dikelola Kubernetes (kontainer, citra, log) dan path kustom yang Anda buat. Hapus direktori tersebut dari disk data setelah mengganti runtime jika tidak diperlukan lagi.

Memulihkan data dari snapshot

Saat meningkatkan kelompok node, Anda dapat membuat snapshot untuk node. Snapshot disimpan selama tujuh hari secara default tetapi dapat dihapus lebih awal. Dalam kasus ekstrem seperti kehilangan data, pulihkan data menggunakan metode berikut.

  • Untuk peningkatan in-place, seperti hanya meningkatkan versi kubelet, Anda dapat memulihkan data dengan melakukan rollback snapshot secara langsung. Lihat Roll back cloud disk dengan menggunakan snapshot.

  • Untuk peningkatan dengan mengganti disk sistem, seperti meningkatkan sistem operasi atau runtime kontainer, Anda dapat memulihkan data dengan membuat cloud disk baru dari snapshot. Lihat Buat disk data dari snapshot.

Menyelesaikan masalah negative dentry

Menjalankan peningkatan kubelet dan containerd memicu systemctl daemon-reload. Layanan systemd memantau direktori yang terkait dengan unit .path dan direktori induknya (secara default /, /run, dan /run/systemd). Banyak inode di direktori ini dapat menyebabkan soft lockup kernel, yang memengaruhi operasi node.

Karena jumlah inode tidak dapat diperoleh secara langsung, bersihkan dentry selama jam sepi:

echo 2 > /proc/sys/vm/drop_caches
Jika direktori yang terkait dengan unit .path dan direktori induknya tidak berisi banyak inode, lewati pemeriksaan ini.

Referensi