All Products
Search
Document Center

Container Service for Kubernetes:Sesuaikan konfigurasi kubelet kelompok node

Last Updated:Jun 23, 2026

Jika konfigurasi kubelet default tidak memenuhi kebutuhan Anda, Anda dapat menyesuaikan parameter kubelet di tingkat kelompok node untuk mengatur perilaku node. Misalnya, Anda dapat menyetel ulang alokasi sumber daya untuk mengelola penggunaan sumber daya, menetapkan ambang batas eviksi tekanan node khusus guna mengurangi kekurangan sumber daya, atau mengubah kebijakan topology manager untuk meningkatkan kinerja sistem.

Batasan

  • Hanya kluster ACK yang menjalankan Kubernetes 1.20 atau versi lebih baru yang mendukung parameter kubelet kustom. Untuk melakukan upgrade kluster, lihat Upgrade kluster secara manual.

  • Hanya kluster ACK Lingjun yang menjalankan Kubernetes 1.22 atau versi lebih baru yang mendukung parameter kubelet kustom. Untuk melakukan upgrade kluster, lihat Upgrade kluster.

Jika versi kluster Anda tidak memenuhi kondisi ini, perilaku yang tidak terduga mungkin terjadi.

Catatan penggunaan

  • Parameter kubelet kustom diterapkan ke node secara batch. Perubahan berlaku langsung pada node yang sudah ada di kelompok node dan diterapkan secara otomatis ke node baru. Penerapan konfigurasi akan merestart proses kubelet, yang dapat memengaruhi node dan beban kerja yang sedang berjalan. Kami menyarankan Anda melakukan operasi ini selama jam sepi.

  • Jika evictionHard, kubeReserved, atau systemReserved tidak dikonfigurasi, sistem menggunakan nilai default untuk alokasi sumber daya. Untuk informasi lebih lanjut tentang cara menghitung nilai default tersebut, lihat Kebijakan alokasi sumber daya node.

  • Perubahan pada konfigurasi alokasi sumber daya dapat mengurangi sumber daya yang dapat dialokasikan oleh node. Pada node dengan penggunaan sumber daya tinggi, hal ini dapat memicu eviksi node.

  • Kami sangat menyarankan agar Anda tidak menggunakan command line untuk menentukan parameter kubelet yang tidak didukung di Konsol. Penggunaan command line membawa risiko stabilitas yang signifikan. Anda bertanggung jawab atas kebenaran dan kompatibilitas konten file user data. Parameter yang salah atau sudah usang dapat menyebabkan node tidak tersedia.

  • Saat kubelet dimulai, kubelet menggabungkan konfigurasi dari berbagai sumber berdasarkan prioritasnya. Jika item konfigurasi yang sama diatur dengan beberapa cara, pengaturan dengan prioritas lebih tinggi akan menimpa pengaturan dengan prioritas lebih rendah.

    Urutan penggabungan konfigurasi

    Konfigurasi berikut diurutkan berdasarkan prioritas dari terendah ke tertinggi:

    1. Feature gate yang ditentukan oleh flag --feature-gates di command line.

    2. File konfigurasi kubelet, yang berisi parameter yang disesuaikan melalui Konsol ACK atau OpenAPI.

    3. Konfigurasi plugin, yang dimuat secara alfabetis dari direktori konfigurasi kubelet.

    4. Parameter command line selain feature gate yang ditentukan langsung melalui command line.

Sesuaikan parameter kubelet di Konsol

Penerapan parameter kubelet kustom akan merestart proses kubelet, yang dapat memengaruhi layanan Anda. Kami menyarankan Anda melakukan operasi ini selama jam sepi.

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

  2. Pada halaman Node Pools, temukan kelompok node target dan pilih image> Kubelet Configuration di kolom Actions.

  3. Baca catatan pada halaman tersebut. Klik Custom Parameters, pilih parameter yang ingin dikonfigurasi, tentukan node yang akan diupgrade, dan atur kebijakan pembaruan batch. Lalu, selesaikan operasi sesuai petunjuk.

    Kebijakan pembaruan batch dijelaskan sebagai berikut:

    • Maximum Parallel Nodes per Batch: Jumlah node yang diperbarui secara bersamaan dalam setiap batch. Anda dapat memantau dan mengelola proses pembaruan di daftar event.

    • Interval Between Batches: Waktu tunggu antara batch pembaruan berturut-turut.

    Anda dapat menjeda pembaruan untuk memverifikasi node yang telah diupgrade. Saat dijeda, pembaruan node yang sedang berlangsung akan diselesaikan, tetapi pembaruan baru tidak akan dimulai hingga Anda melanjutkan tugas tersebut.

    Selesaikan tugas konfigurasi kustom sesegera mungkin. Tugas yang dijeda akan dibatalkan secara otomatis setelah tujuh hari, dan event serta log terkait akan dihapus.

Selain melalui Konsol, Anda juga dapat memanggil operasi API ModifyNodePoolNodeConfig untuk menyesuaikan parameter kubelet. Bagian berikut menjelaskan parameter kubelet yang dapat disesuaikan yang didukung oleh ACK.

Parameter kubelet yang dapat disesuaikan

Parameter

Deskripsi

Default

Nilai

allowedUnsafeSysctls

Tentukan sysctl tidak aman yang diizinkan atau pola wildcard sysctl (pola yang diakhiri dengan *). Gunakan koma (,) untuk memisahkannya.

Penting

Sebelum menggunakan parameter ini, evaluasi risikonya secara hati-hati dan pastikan ketersediaannya.

N/A

Mendukung konfigurasi sysctl dengan awalan berikut:

  • kernel.shm

  • kernel.msg

  • kernel.sem

  • fs.mqueue.

  • net.

containerLogMaxFiles

Jumlah maksimum file log untuk suatu kontainer. Nilainya harus 2 atau lebih besar. Runtime kontainer harus containerd.

10

[2, 10]

containerLogMaxSize

Ukuran maksimum file log kontainer sebelum dilakukan rotasi. Runtime kontainer harus containerd.

100Mi

N/A

cpuCFSQuota

Mengaktifkan penegakan kuota CPU CFS untuk kontainer yang memiliki batas CPU.

true

Nilai valid:

  • true

  • false

cpuCFSQuotaPeriod

Menetapkan nilai periode kuota CPU CFS.

Feature gate CustomCPUCFSQuotaPeriod harus diaktifkan.

100ms

Nilai dari 1 milidetik hingga 1 detik, inklusif.

cpuManagerPolicy

Kebijakan manajer CPU.

none

Nilai valid:

  • none

  • static

eventBurst

Jumlah maksimum catatan event dalam satu burst.

10

Nilainya harus bilangan bulat dari 1 hingga 100 dan lebih besar atau sama dengan nilai eventRecordQPS.

eventRecordQPS

Jumlah event yang dapat dihasilkan per detik.

5

[1, 50]

evictionHard

Sekumpulan ambang batas eviksi keras yang memicu eviksi Pod.

imagefs.available<15%,memory.available<300Mi,nodefs.available<10%,nodefs.inodesFree<5%

None

evictionSoft

Sekumpulan ambang batas eviksi lunak.

None

None

evictionSoftGracePeriod

Sekumpulan periode tenggang eviksi.

Catatan

evictionSoft harus diatur.

None

None

featureGates

Sekumpulan feature gate untuk fitur eksperimental. Setiap gate direpresentasikan sebagai key=value. Untuk informasi lebih lanjut, lihat Feature Gates.

Dalam formulir konfigurasi, pilih key (misalnya featureGates) dari daftar drop-down di sebelah kiri, masukkan value yang sesuai di kotak teks di sebelah kanan, lalu centang kotak di sebelah kanan untuk mengaktifkan feature gate tersebut.

Penting
  • Sebelum menggunakan parameter ini, evaluasi risikonya secara hati-hati dan pastikan ketersediaannya.

  • Feature gate yang telah dihapus tidak berlaku. Segera perbarui. Untuk informasi lebih lanjut, lihat Feature Gates (removed).

N/A

N/A

imageGCHighThresholdPercent

Persentase penggunaan disk yang memicu garbage collection gambar. Garbage collection gambar berjalan terus-menerus ketika penggunaan disk melebihi ambang batas ini.

Nilai ini harus lebih besar dari nilai imageGCLowThresholdPercent.

85

[60, 95]

imageGCLowThresholdPercent

Persentase penggunaan disk di bawah ambang batas ini sehingga garbage collection gambar tidak dijalankan.

Nilai ini harus lebih kecil dari nilai imageGCHighThresholdPercent.

80

[30, 90]

kubeAPIBurst

Jumlah maksimum permintaan burst yang dikirim ke server API per detik.

10

[1, 100], dan harus lebih besar atau sama dengan kubeAPIQPS

kubeAPIQPS

Jumlah permintaan per detik (QPS) ke server API.

5

[1, 50]

kubeReserved

Konfigurasi sumber daya yang dicadangkan untuk daemon sistem Kubernetes.

Nilainya dihitung secara otomatis secara default. Untuk informasi lebih lanjut, lihat Kebijakan pemesanan sumber daya node.

N/A

maxPods

Jumlah maksimum Pod yang dapat berjalan di suatu node.

Penting

Memodifikasi nilai maxPods tidak memengaruhi jumlah alamat IP yang dapat dialokasikan ke node. Jika nilai maxPods terlalu besar, Pod yang tidak menggunakan mode HostNetwork mungkin gagal dimulai karena tidak dapat mendapatkan alamat IP.

N/A. Nilainya bergantung pada konfigurasi sumber daya fisik seperti spesifikasi mesin dan perencanaan jaringan kontainer.

N/A

memoryManagerPolicy

Kebijakan untuk manajer memori.

None

Nilai valid:

  • None

  • Static

    Sebelum menggunakan kebijakan ini, lakukan langkah-langkah berikut:

    • Feature gate MemoryManager diaktifkan.

    • Jika Anda mengelola secara manual pemesanan sumber daya memori (systemReserved, kubeReserved, evictionHard, dan reservedMemory), Anda harus memastikan konfigurasinya benar. Konfigurasi harus mengikuti rumus kube-reserved + system-reserved + eviction-hard = sum(reserved-memory) untuk mencegah node menjadi tidak tersedia. Misalnya, di panel parameter kustom, atur memoryManagerPolicy ke Static dan konfigurasikan parameter berikut berdasarkan rumus evictionHard.memory.available + systemReserved.memory + kubeReserved.memory = sum(reservedMemory.limits.memory): atur memory.available dari evictionHard ke 100Mi, memory dari kubeReserved ke 100Mi, numaNode dari reservedMemory ke 0, limits.memory dari reservedMemory ke 300Mi, dan memory dari systemReserved ke 100Mi. Untuk informasi lebih lanjut, lihat Reserved memory flag.

podPidsLimit

Jumlah maksimum ID proses (PID) yang dapat digunakan di setiap Pod.

  • Bilangan bulat positif: Menetapkan batas atas jumlah PID.

  • -1: Tidak ada batasan jumlah PID.

16384

None

readOnlyPort

Port read-only untuk kubelet yang tidak memerlukan otentikasi.

  • Untuk kluster yang menjalankan Kubernetes 1.26 atau versi lebih baru, nilai default-nya adalah 0.

  • Untuk kluster yang menjalankan versi Kubernetes sebelum 1.26, nilai default-nya adalah 10255.

0

Untuk informasi tentang risiko membuka port read-only (10255) untuk pemantauan kontainer kubelet, lihat [Perubahan Produk] Migrasi port pemantauan kluster ACK versi lama ke port terotentikasi.

registryBurst

Jumlah maksimum burst penarikan gambar.

10

Nilainya harus dalam rentang [1, 100] dan harus lebih besar atau sama dengan nilai registryPullQPS.

registryPullQPS

QPS maksimum untuk registri gambar.

5

[1, 50]

reservedMemory

Daftar pemesanan memori untuk node NUMA.

None

None

serializeImagePulls

Menentukan apakah gambar ditarik secara serial.

False

Nilai valid:

  • False: Ini adalah nilai yang direkomendasikan. Memungkinkan gambar ditarik secara paralel untuk mempercepat startup Pod.

  • True: Menarik gambar secara serial.

systemReserved

Konfigurasi sumber daya yang dicadangkan untuk daemon sistem.

Nilainya dihitung secara otomatis secara default. Untuk informasi lebih lanjut, lihat Kebijakan pemesanan sumber daya node.

N/A

topologyManagerPolicy

Kebijakan topology manager. Dengan arsitektur NUMA, mengalokasikan data ke node NUMA yang sama mengurangi akses lintas node dan meningkatkan kinerja. Topology manager membuat keputusan alokasi sumber daya yang selaras secara topologi. Untuk informasi lebih lanjut, lihat Mengontrol Kebijakan Manajemen Topologi pada node.

none

  • none (default): Tidak memberlakukan kebijakan manajemen topologi.

  • restricted: Kubelet menolak Pod jika permintaan sumber dayanya tidak dapat dipenuhi oleh satu node NUMA.

  • best-effort: Kubelet mencoba mengalokasikan sumber daya pada satu node NUMA, tetapi memperbolehkan alokasi dari beberapa node NUMA jika alokasi satu node tidak memungkinkan.

  • single-numa-node: Kubelet hanya mengizinkan sumber daya CPU dan perangkat dialokasikan dari satu node NUMA untuk suatu Pod.

containerLogMonitorInterval

Kluster harus menjalankan Kubernetes 1.30 atau versi lebih baru.

Interval pemeriksaan rotasi log kontainer.

10s

[3s, 60s]

containerLogMaxWorkers

Kluster harus menjalankan Kubernetes 1.30 atau versi lebih baru.

Jumlah maksimum worker konkuren untuk rotasi log.

1

[1, 20]

tracing

Mengaktifkan tracing untuk komponen lapisan kontrol atau bidang data kluster.

Untuk informasi lebih lanjut, lihat Manajemen tracing.

None

  • endpoint: Pengaturan yang direkomendasikan adalah localhost:4317.

  • samplingRatePerMillion: [0, 1000000]

singleProcessOOMKill

Mengontrol perilaku OOM Kill kontainer di lingkungan cgroup v2. Ketika diatur ke true, parameter ini menonaktifkan flag memory.oom.group untuk cgroup kontainer, sehingga proses di dalam kontainer akan di-OOM-kill secara individual, bukan sebagai grup. Perilaku ini konsisten dengan cgroup v1. Jika parameter ini tidak dikonfigurasi secara eksplisit, sistem secara otomatis menentukan nilai default berdasarkan lingkungan saat ini:

  • true: Memicu OOM kill secara individual.

  • false: Memicu OOM Kill berdasarkan grup (perilaku default untuk cgroup v2).

Di lingkungan cgroup v2, nilai default-nya adalah false

  • Non-Linux: Hanya mendukung true.

  • cgroup v1 Linux: Hanya mendukung true.

  • cgroup v2 Linux: Mendukung true dan false

configMapAndSecretChangeDetectionStrategy

Mode operasi untuk manajer ConfigMap dan Secret.

Watch

  • Get: Kubelet langsung mengambil objek yang diperlukan dari server API.

  • Cache: Kubelet menggunakan TTL untuk menyimpan cache objek yang diambil dari server API.

  • Watch: Kubelet menggunakan mekanisme Watch untuk memantau perubahan pada objek terkait.

serverTLSBootstrap

Hanya kluster ACK Managed Pro yang didukung.
Pastikan bahwa feature gate RotateKubeletServerCertificate diaktifkan.

Aktifkan bootstrapping sertifikat server Kubelet. Saat fitur ini diaktifkan, Kubelet meminta sertifikat server dari kluster melalui API certificates.k8s.io alih-alih menggunakan sertifikat tanda tangan sendiri. Kluster secara otomatis menyetujui Permintaan Penandatanganan Sertifikat (CSR) tersebut.

  • Untuk kluster versi 1.34 atau lebih baru: true

  • Untuk kluster versi 1.33 dan lebih rendah: false

Nilai valid:

  • true

  • false

FAQ

Apakah konfigurasi kustom akan dihentikan?

Saat Kubernetes berkembang, parameter dan feature gate dapat dihentikan atau dihapus. Jika parameter kustom yang dikelola oleh ACK dihentikan di versi Kubernetes baru, ACK akan menghapus konfigurasi terkait selama upgrade kluster.

Mengelola kubelet dengan file konfigurasi

Container Service for Kubernetes menyesuaikan cara pengelolaan konfigurasi kubelet berdasarkan praktik terbaik komunitas. Untuk kluster yang menjalankan Kubernetes 1.20 atau versi lebih baru, flag command line kubelet yang sudah usang secara bertahap diganti dengan file konfigurasi. Untuk informasi lebih lanjut, lihat Kubelet Configuration (v1beta1).

Node baru menggunakan file konfigurasi dan metode konfigurasi asli. Node yang sudah ada tidak terpengaruh. Untuk mengelola konfigurasi semua node di kelompok node hanya dengan file konfigurasi, Anda dapat menerapkan konfigurasi kustom seperti yang dijelaskan di Parameter kubelet yang dapat disesuaikan untuk menstandarisasi konfigurasi semua node di kelompok node tersebut.

Memodifikasi parameter kubelet yang tidak didukung

ACK memungkinkan Anda menulis parameter kustom ke file /etc/kubernetes/kubelet-customized-args.conf. File ini menyimpan parameter startup kustom dan opsi konfigurasi untuk kubelet. Parameter dalam file ini memiliki prioritas lebih tinggi daripada nilai yang diatur melalui fitur konfigurasi kubelet kustom kelompok node saat node direstart.

Penting

Menyesuaikan parameter kubelet dapat menyebabkan masalah seperti kegagalan registrasi node dan kegagalan penjadwalan Pod, yang memengaruhi layanan Anda. Sebelum melanjutkan, evaluasi sepenuhnya risiko perubahan tersebut.

  • (Direkomendasikan) Untuk node yang akan ditambahkan ke kelompok node di masa depan, Anda dapat menambahkan skrip yang menulis ke file konfigurasi parameter kustom di bagian User Data kelompok node. Hal ini memastikan node baru menggunakan nilai parameter kustom ini secara default.

    Konfigurasikan konten berikut di bagian User Data konfigurasi kelompok node, dan ganti ${kubelet_key} dan ${kubelet_value} dengan nilai aktual.

    Anda hanya dapat menulis ke file kubelet-customized-args.conf dengan menggunakan perintah > /etc/kubernetes/kubelet-customized-args.conf atau > kubelet-customized-args.conf di User Data. Jika Anda memodifikasi file dengan metode lain di Pre-defined Custom Data, file /etc/kubernetes/kubelet-customized-args.conf akan ditimpa selama proses inisialisasi ACK.
    mkdir -p /etc/kubernetes  
    echo 'KUBELET_CUSTOMIZED_ARGS="--${kubelet_key}=${kubelet_value}"' > /etc/kubernetes/kubelet-customized-args.conf
    systemctl daemon-reload
    systemctl restart kubelet
    Untuk mengakses halaman konfigurasi, lihat Buat dan kelola kelompok node.

  • Untuk node yang sudah ada di kelompok node, login ke node untuk memodifikasi file konfigurasi parameter kustom. Lalu, jalankan perintah berikut untuk menerapkan konfigurasi.

    systemctl daemon-reload
    systemctl restart kubelet

Referensi