Jika parameter sistem operasi (OS) default pada sistem Linux tidak memenuhi kebutuhan Anda, Anda dapat menyesuaikan parameter OS untuk node dalam kelompok node sesuai dengan kebutuhan beban kerja. Setelah penyesuaian dilakukan, sistem menerapkan perubahan tersebut ke node secara bertahap. Konfigurasi baru langsung berlaku pada node yang sudah ada di kelompok node dan juga digunakan oleh node baru.
Catatan penggunaan
Fitur ini hanya didukung untuk Kluster ACK yang dikelola, Cluster khusus ACK (kluster baru tidak dapat lagi dibuat), dan kluster ACK Edge versi 1.28 atau lebih baru. Untuk meningkatkan kluster, lihat Meningkatkan kluster secara manual.
Peringatan
Memodifikasi konfigurasi OS node dapat mengubah konfigurasi pod yang sudah ada di node tersebut dan memicu pembuatan ulang pod. Pastikan aplikasi Anda memiliki ketersediaan tinggi sebelum melanjutkan.
Penyesuaian parameter OS yang tidak tepat dapat mengubah perilaku kernel Linux, sehingga berpotensi menurunkan kinerja node atau membuatnya tidak tersedia, yang berdampak pada layanan Anda. Pahami sepenuhnya fungsi parameter tersebut dan lakukan pengujian menyeluruh sebelum menerapkannya di lingkungan produksi.
Konfigurasi parameter OS untuk kelompok node
Anda dapat mengonfigurasi parameter sysctl dan parameter Transparent HugePage (THP) untuk kelompok node. Meskipun semua parameter ini dapat dikonfigurasi melalui modifikasi file konfigurasi, parameter THP dan beberapa parameter sysctl juga dapat dikonfigurasi melalui Konsol atau menggunakan OpenAPI.
Konfigurasi di Konsol atau menggunakan OpenAPI
Konsol
Setelah Anda menyesuaikan parameter OS, sistem menerapkan perubahan ke node secara bertahap. Konfigurasi baru langsung berlaku pada node yang sudah ada dan secara otomatis diterapkan pada node baru. Karena penerapan parameter OS kustom mengubah konfigurasi OS pada node yang sudah ada, operasi ini dapat memengaruhi layanan Anda. Disarankan untuk melakukan operasi ini di luar jam sibuk.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dikelola lalu klik namanya. Di panel navigasi kiri, pilih .
Di kolom Actions untuk kelompok node target, klik
> OS Configuration.Baca peringatan di halaman tersebut. Klik + Custom Parameters, pilih parameter yang ingin dikonfigurasi, dan tentukan node yang akan ditingkatkan. Atur Maximum Concurrent Nodes Per Batch ke nilai maksimal 10, lalu klik Submit. Ikuti petunjuk di layar untuk menyelesaikan operasi.
Setelah mengatur Maximum Concurrent Nodes Per Batch, konfigurasi OS diterapkan ke node secara bertahap. Selama proses ini, Anda dapat memantau progres dan mengontrol operasi (seperti pause, resume, dan cancel) di area Event History. Fitur pause dapat digunakan untuk memverifikasi node yang telah ditingkatkan. Saat tugas di-pause, node yang sedang dikonfigurasi akan terus menjalankan hingga konfigurasi selesai. Konfigurasi kustom tidak diterapkan ke node yang belum dimulai hingga Anda melanjutkan tugas tersebut.
PentingSelesaikan tugas konfigurasi kustom sesegera mungkin. Tugas yang di-pause akan dibatalkan secara otomatis setelah 7 hari, dan event serta log terkait kemudian akan dihapus.
OpenAPI
Selain melalui Konsol, Anda dapat menyesuaikan parameter OS dengan memanggil operasi API ModifyNodePoolNodeConfig.
Konfigurasi menggunakan file konfigurasi
ACK memungkinkan Anda menulis parameter kustom ke file /etc/sysctl.d/99-user-customized.conf. File ini disediakan khusus untuk konfigurasi kustom selama inisialisasi dan restart node. Parameter sysctl dalam file ini memiliki prioritas lebih tinggi saat node direstart, sehingga menimpa nilai OS default dan nilai yang ditetapkan melalui fitur konfigurasi sysctl kustom untuk kelompok node.
Menyesuaikan parameter sysctl mengubah perilaku kernel Linux. Hal ini dapat menurunkan kinerja node atau membuat node tidak tersedia, yang berdampak pada layanan Anda. Lakukan penilaian risiko secara menyeluruh sebelum melakukan perubahan.
Untuk node yang sudah ada di kelompok node, Anda dapat masuk ke node untuk memodifikasi file parameter kustom ini. Setelah itu, jalankan perintah
sysctl -p /etc/sysctl.d/99-user-customized.confsecara manual untuk menerapkan konfigurasi.Untuk node baru yang akan ditambahkan ke kelompok node, tambahkan skrip yang menulis ke file parameter kustom ke bagian user data instans kelompok node. Hal ini memastikan bahwa node baru menggunakan nilai parameter kustom tersebut secara default. Prosedurnya sebagai berikut.
Di bidang User Data konfigurasi kelompok node, tambahkan perintah
echo '${sysctl_key}=${sysctl_value}' > /etc/sysctl.d/99-user-customized.conf. Ganti${sysctl_key}dan${sysctl_value}dengan nilai aktual. Perintah ini menulis konfigurasi kustom ke file konfigurasi yang ditentukan di direktori/etc/sysctl.d/.Untuk informasi lebih lanjut tentang cara mengakses halaman konfigurasi, lihat Membuat dan mengelola kelompok node.

Daftar parameter sysctl
Pada tabel berikut, Default Value mengacu pada nilai yang ditetapkan ACK secara default saat kelompok node diinisialisasi.
Untuk rentang nilai parameter berikut, lihat dokumentasi parameter sysctl Kernel Linux.
Untuk parameter yang belum didukung di Konsol atau melalui OpenAPI, serta parameter yang tidak tercantum dalam tabel, lihat Konfigurasi menggunakan file konfigurasi untuk instruksi cara memodifikasinya.
Nama bidang | Deskripsi | Nilai default | Didukung di Konsol atau menggunakan OpenAPI |
fs.aio-max-nr | Jumlah maksimum operasi I/O asinkron. | 65536 |
|
fs.file-max | Jumlah maksimum handle file yang dapat dibuka oleh sistem. | 2097152 |
|
fs.inotify.max_user_watches | Jumlah maksimum pengawasan inotify yang dapat dibuat oleh satu pengguna. | 524288 |
|
fs.nr_open | Jumlah maksimum deskriptor file yang dapat dibuka oleh satu proses. Nilai ini harus lebih kecil dari nilai fs.file-max. | 1048576 |
|
kernel.pid_max | Jumlah maksimum PID yang dapat ditetapkan oleh sistem. | 4194303 |
|
kernel.threads-max | Jumlah maksimum thread yang dapat dibuat oleh sistem. | 504581 |
|
net.core.netdev_max_backlog | Jumlah maksimum paket yang dapat masuk ke antrean di sisi INPUT ketika antarmuka menerima paket lebih cepat daripada kernel dapat memprosesnya. | 16384 |
|
net.core.optmem_max | Ukuran maksimum buffer tambahan untuk setiap soket jaringan, dalam byte. | 20480 |
|
net.core.rmem_max | Ukuran maksimum buffer penerima untuk setiap soket jaringan, dalam byte. | 16777216 |
|
net.core.wmem_max | Ukuran maksimum buffer pengirim untuk setiap soket jaringan, dalam byte. | 16777216 |
|
net.core.wmem_default | Ukuran default buffer pengirim untuk setiap soket jaringan, dalam byte. | 212992 |
|
net.ipv4.tcp_mem | Jumlah memori yang dapat digunakan oleh stack TCP, dalam halaman memori (biasanya berukuran 4 KB). Parameter ini terdiri dari tiga nilai integer yang masing-masing merepresentasikan ambang batas rendah, ambang tekanan, dan ambang batas tinggi. Anda harus menyetelnya secara berurutan. | Dihitung secara dinamis berdasarkan total memori sistem |
|
net.ipv4.neigh.default.gc_thresh1 | Jumlah minimum entri yang dipertahankan dalam cache ARP. Sistem tidak melakukan pengumpulan sampah jika jumlah entri dalam cache berada di bawah nilai ini. | Preset sistem |
|
net.ipv4.neigh.default.gc_thresh2 | Jumlah maksimum entri dalam cache ARP. Ini adalah batas lunak. Ketika jumlah entri dalam cache mencapai nilai ini, sistem mempertimbangkan untuk melakukan pengumpulan sampah tetapi tidak langsung menegakkannya. Sebaliknya, sistem menunggu penundaan selama 5 detik. | 1024 |
|
net.ipv4.neigh.default.gc_thresh3 | Jumlah maksimum entri yang dipertahankan dalam cache ARP. Ini adalah batas keras. Ketika jumlah entri dalam cache mencapai nilai ini, sistem segera melakukan pengumpulan sampah. Jika jumlah entri dalam cache terus-menerus melebihi nilai ini, sistem terus-menerus melakukan pembersihan. | 8192 |
|
user.max_user_namespaces | Jumlah maksimum namespace pengguna yang dapat dibuat oleh satu pengguna. | 0 |
|
kernel.softlockup_panic | Ketika soft lockup terjadi, kernel memicu panic dan merestart sistem untuk memulihkan kondisi sistem dengan cepat. | 1 |
|
kernel.softlockup_all_cpu_backtrace | Ketika soft lockup terdeteksi, menangkap informasi debug untuk semua CPU guna mempermudah diagnosis masalah. | 1 |
|
vm.max_map_count | Membatasi jumlah maksimum area pemetaan memori yang dapat dimiliki satu proses untuk mencegah penggunaan memori berlebihan. | 262144 |
|
net.core.somaxconn | Menetapkan jumlah maksimum koneksi untuk antrean listener soket guna mengontrol kapasitas pemrosesan koneksi bersamaan. | 32768 |
|
net.ipv4.tcp_wmem | Mengonfigurasi nilai minimum, default, dan maksimum untuk buffer pengiriman koneksi TCP. Satuan: byte. Pengaturan ini secara langsung memengaruhi throughput jaringan dan penggunaan memori koneksi TCP. | 4096 12582912 16777216 |
|
net.ipv4.tcp_rmem | Mengonfigurasi nilai minimum, default, dan maksimum untuk buffer penerima TCP. Satuan: byte. Pengaturan ini secara langsung memengaruhi throughput jaringan dan penggunaan memori koneksi TCP. | 4096 12582912 16777216 |
|
net.ipv4.tcp_max_syn_backlog | Membatasi jumlah permintaan koneksi yang belum menyelesaikan handshake tiga arah dalam antrean SYN. | 8096 |
|
net.ipv4.tcp_slow_start_after_idle | Mengontrol apakah koneksi TCP menggunakan kembali algoritma slow start setelah periode idle yang lama. | 0 |
|
net.ipv4.ip_forward | Mengaktifkan penerusan paket IPv4, memungkinkan sistem bertindak sebagai router untuk meneruskan paket. | 1 |
|
net.bridge.bridge-nf-call-iptables | Memungkinkan perangkat bridge menerapkan aturan iptables Lapisan 3 selama penerusan Lapisan 2 untuk memastikan kebijakan keamanan jaringan berlaku. | 1 |
|
fs.inotify.max_user_instances | Membatasi jumlah monitor inotify yang dapat dibuat satu pengguna untuk mencegah kehabisan sumber daya. | 16384 |
|
fs.inotify.max_queued_events | Menetapkan jumlah event sistem file yang dapat di-cache dalam antrean kernel. | 16384 |
|
fs.may_detach_mounts | Memungkinkan kernel melepas titik pemasangan dari namespace secara aman meskipun masih diakses oleh proses, mencegah seluruh namespace terkunci. | 1 |
|
Daftar parameter THP
Transparent Huge Pages (THP) adalah fitur dalam kernel Linux yang secara otomatis menggabungkan halaman kecil (biasanya 4 KB) menjadi halaman besar (biasanya 2 MB atau lebih besar). Hal ini mengurangi ukuran dan jumlah akses ke Entri Tabel Halaman (PTE), meringankan tekanan pada cache Translation Lookaside Buffer (TLB), serta meningkatkan efisiensi akses memori.
Semua parameter berikut dapat dikonfigurasi di Konsol atau menggunakan OpenAPI.
Nilai default parameter berikut bervariasi tergantung pada sistem operasi dan versi kernelnya. Untuk informasi lebih lanjut, lihat dokumentasi parameter THP Kernel Linux.
Nama bidang | Deskripsi | Nilai yang mungkin |
transparent_enabled | Menentukan apakah fitur THP diaktifkan secara global di sistem. |
|
transparent_defrag | Menentukan apakah defragmentasi terkait THP diaktifkan. Saat diaktifkan, halaman kecil di memori dapat digabung menjadi halaman besar. Hal ini dapat mengurangi ukuran tabel halaman dan meningkatkan kinerja sistem. |
|
khugepaged_defrag |
Karena operasi ini melakukan locking di jalur memori, proses daemon |
|
khugepaged_alloc_sleep_millisecs | Menentukan waktu dalam milidetik yang ditunggu oleh proses daemon | Untuk informasi lebih lanjut, lihat defragmentasi khugepaged. |
khugepaged_scan_sleep_millisecs | Interval dalam milidetik saat proses daemon | |
khugepaged_pages_to_scan | Jumlah halaman memori yang dipindai oleh proses daemon |