Kustomisasi konfigurasi node untuk kumpulan node Azure Kubernetes Service (AKS)

Dengan menyesuaikan konfigurasi simpul, Anda dapat menyesuaikan pengaturan sistem operasi (OS) atau parameter kubelet agar sesuai dengan kebutuhan beban kerja Anda. Saat membuat kluster AKS atau menambahkan kumpulan simpul ke kluster, Anda dapat mengkustomisasikan subset pengaturan OS dan kubelet yang umum digunakan. Untuk mengonfigurasi pengaturan di luar subset ini, gunakan set daemon untuk menyesuaikan konfigurasi yang Anda butuhkan tanpa kehilangan dukungan AKS untuk simpul Anda.

Prasyarat

Karena layanan menambahkan dukungan untuk pengaturan baru dan parameter kubelet, layanan mungkin memerlukan pendaftaran bendera fitur pratinjau. Jika bendera pratinjau diperlukan, referensi parameter konfigurasi node kustom memanggilnya.

Pengaturan kubelet kubeReserved, softEvictionThreshold, hardEvictionThreshold, softEvictionGracePeriod, dan evictionMaxPodGracePeriodInSeconds berada dalam pratinjau dan memerlukan bendera fitur CustomNodeConfigPreview. Pengaturan ini memungkinkan Anda menyesuaikan reservasi sumber daya dan ambang eviksi, yang juga dikonfigurasi oleh AKS Node Hardening. Untuk langkah-langkah pendaftaran, nilai default, dan contoh, lihat Pengerasan Node (pratinjau) di AKS.

Membuat file konfigurasi simpul kustom untuk kumpulan simpul AKS

Untuk mengubah konfigurasi OS dan kubelet, buat file konfigurasi baru dengan parameter dan pengaturan yang Anda inginkan. Jika Anda tidak menentukan nilai untuk parameter, nilai default akan digunakan.

Catatan

Contoh berikut menunjukkan pengaturan konfigurasi umum. Ubah pengaturan untuk memenuhi persyaratan beban kerja Anda. Untuk daftar lengkap parameter konfigurasi kustom yang didukung, lihat Parameter konfigurasi simpul kustom untuk AKS.

Konfigurasi Kubelet

Buat file linuxkubeletconfig.json dengan konten berikut:

{
 "cpuManagerPolicy": "static",
 "cpuCfsQuota": true,
 "cpuCfsQuotaPeriod": "200ms",
 "imageGcHighThreshold": 90,
 "imageGcLowThreshold": 70,
 "topologyManagerPolicy": "best-effort",
 "allowedUnsafeSysctls": [
  "kernel.msg*",
  "net.*"
],
 "failSwapOn": false
}

Untuk menyesuaikan sumber daya yang dicadangkan kube dan ambang penggusuran pada kumpulan simpul Linux, lihat Menyesuaikan pengaturan Pengerasan Simpul.

Konfigurasi OS

Buat file linuxosconfig.json dengan konten berikut:

{
 "transparentHugePageEnabled": "madvise",
 "transparentHugePageDefrag": "defer+madvise",
 "swapFileSizeMB": 1500,
 "sysctls": {
  "netCoreSomaxconn": 163849,
  "netIpv4TcpTwReuse": true,
  "netIpv4IpLocalPortRange": "32000 60000"
 }
}

Membuat kluster AKS menggunakan file konfigurasi kustom

Catatan

Ingatlah informasi berikut saat menggunakan file konfigurasi kustom saat membuat kluster AKS baru:

  • Jika Anda menentukan konfigurasi saat membuat kluster, konfigurasi hanya berlaku untuk simpul di kumpulan simpul awal. Kluster mempertahankan nilai default untuk pengaturan apa pun yang tidak dikonfigurasi dalam file JSON.
  • CustomLinuxOsConfig tidak didukung untuk jenis OS Windows.
  • Pengaturan kubelet ambang pratinjau kubeReserved dan eviction hanya didukung untuk kumpulan simpul Linux dan memerlukan CustomNodeConfigPreview bendera fitur. Untuk langkah-langkah registrasi, lihat Node Hardening (pratinjau) di AKS.

Buat kluster baru menggunakan file konfigurasi kustom dengan menjalankan az aks create perintah dan menentukan file konfigurasi Anda untuk --kubelet-config parameter dan --linux-os-config . Contoh perintah berikut membuat kluster baru dengan kustom ./linuxkubeletconfig.json dan ./linuxosconfig.json file:

az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json

Menambahkan kumpulan simpul dengan menggunakan file konfigurasi kustom

Catatan

Ingatlah informasi berikut saat menggunakan file konfigurasi kustom untuk menambahkan kumpulan simpul baru ke kluster AKS yang ada:

  • Saat menambahkan kumpulan simpul Linux ke kluster yang ada, Anda dapat menentukan konfigurasi kubelet, konfigurasi OS, atau keduanya. Saat menambahkan kumpulan simpul Windows ke kluster yang ada, Anda hanya dapat menentukan konfigurasi kubelet. Jika Anda menentukan konfigurasi saat menambahkan kumpulan simpul, konfigurasi hanya berlaku untuk simpul di kumpulan simpul baru. Kumpulan simpul mempertahankan nilai default untuk pengaturan apa pun yang tidak dikonfigurasi dalam file JSON.
  • CustomKubeletConfig didukung untuk kumpulan simpul Linux dan Windows.
  • Pengaturan kubelet pratinjau kubeReserved dan ambang pengusiran hanya didukung untuk kumpulan simpul Linux dan memerlukan bendera fitur CustomNodeConfigPreview. Untuk langkah-langkah registrasi, lihat Node Hardening (pratinjau) di AKS.

Buat pool node Linux baru dengan menggunakan perintah az aks nodepool add dan menentukan file konfigurasi Anda untuk parameter --kubelet-config dan --linux-os-config. Contoh perintah berikut membuat kumpulan simpul Linux baru dengan file kustom ./linuxkubeletconfig.json :

az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json

Konfirmasikan setelan sudah diterapkan

Setelah menerapkan konfigurasi simpul kustom, Anda dapat mengonfirmasi pengaturan diterapkan ke simpul dengan menyambungkan ke host dan memverifikasi sysctl atau perubahan konfigurasi dilakukan pada sistem file.

Meninjau parameter konfigurasi kustom yang didukung

Untuk daftar lengkap parameter konfigurasi kubelet dan Linux OS yang didukung, nilai, default, dan deskripsi yang diizinkan, lihat Parameter konfigurasi node kustom untuk AKS.

Pertimbangan untuk konfigurasi simpul kustom

Ingatlah pertimbangan berikut saat menyesuaikan konfigurasi node Anda:

  • Peningkatan gambar node menerapkan kembali konfigurasi simpul kustom.
  • Operasi peluasan skala mempertahankan konfigurasi simpul kustom.
  • AKS tidak melakukan validasi pra-penerbangan untuk setiap parameter atau nilai konfigurasi node kustom. Pastikan bahwa parameter dan nilai konfigurasi node kustom yang Anda tentukan didukung dan valid untuk menghindari potensi masalah dengan node kluster Anda.
  • Pengaturan kubelet pratinjau kubeReserved dan ambang penggusuran hanya tersedia di kumpulan simpul Linux. Jika Anda mengonfigurasinya, gunakan rentang, unit, dan aturan pemasangan yang didukung dalam referensi parameter konfigurasi simpul kustom.
  • Nilai default untuk parameter konfigurasi simpul kustom sering berubah dengan versi sistem operasi baru. Saat menerapkan konfigurasi simpul kustom, tinjau nilai default untuk parameter yang Anda konfigurasi untuk memastikan bahwa pengaturan kustom Anda sesuai untuk versi OS simpul kluster Anda.
  • Batasi jumlah orang yang memiliki izin untuk memodifikasi konfigurasi simpul kustom untuk mencegah konsekuensi yang tidak diinginkan pada stabilitas dan performa kluster. Pertimbangkan untuk menggunakan otorisasi ID Microsoft Entra untuk API Kubernetes untuk membatasi akses ke pengaturan konfigurasi kluster.
  • Pisahkan kumpulan simpul dengan konfigurasi kustom dari yang tanpa konfigurasi kustom untuk mencegah konsekuensi yang tidak diinginkan pada beban kerja yang mungkin sensitif terhadap perubahan konfigurasi tertentu. Misalnya, jika Anda memiliki beban kerja penting yang memerlukan pengaturan kubelet tertentu, pertimbangkan untuk mengisolasi beban kerja tersebut ke kumpulan simpul khusus dengan konfigurasi kubelet kustom yang diperlukan.