Tentang penskala otomatis cluster
Dokumen ini menjelaskan penskala otomatis cluster, yang secara otomatis mengontrol ukuran kumpulan node Anda. Autoscaler cluster diaktifkan saat Anda menentukan nilai minimum dan maksimum untuk jumlah node dalam kumpulan node. Anda menentukan nilai tersebut saat Membuat kumpulan node atau Memperbarui kumpulan node.
Menskalakan kumpulan node secara otomatis
Autoscaler cluster otomatis mengubah ukuran jumlah node dalam kumpulan node tertentu, berdasarkan permintaan workload Anda. Anda tidak perlu menambahkan atau menghapus node secara manual atau menyediakan node pool secara berlebihan. Sebagai gantinya, Anda akan menentukan ukuran minimum dan maksimum untuk kumpulan node, dan sisanya akan bersifat otomatis.
Jika resource perlu dihapus atau dipindahkan saat melakukan penskalaan otomatis pada cluster, workload Anda mungkin akan mengalami gangguan sementara. Misalnya, jika beban kerja Anda terdiri dari pengontrol dengan satu replika, Pod replika tersebut dapat dijadwalkan ulang ke node yang berbeda jika node-nya saat ini dihapus. Oleh karena itu, Anda harus mendesain workload untuk menoleransi potensi gangguan atau memastikan bahwa Pod yang penting tidak terganggu.
Cara kerja penskala otomatis cluster
Autoscaler cluster bekerja berdasarkan kumpulan per node. Ketika menggunakan autoscaler cluster untuk mengonfigurasi kumpulan node, Anda menentukan ukuran minimum dan maksimum kumpulan node. Anda dapat mengubah ukuran minimum dan maksimum saat Membuat kumpulan node atau Memperbarui kumpulan node.
Autoscaler cluster akan meningkatkan atau menurunkan ukuran kumpulan node secara otomatis, berdasarkan permintaan resource (bukan penggunaan resource yang sebenarnya) di kumpulan node tersebut. Autoscaler cluster menambahkan node jika objek Pod tidak dapat dijadwalkan dan kapasitas di kumpulan node tidak cukup untuk memenuhi permintaan.
Autoscaler cluster juga menghapus node jika kurang dimanfaatkan dan semua objek Pod dapat dijadwalkan pada jumlah node yang lebih kecil. Jika node tidak dapat dihabiskan dengan lancar setelah 10 menit, node akan dihentikan secara paksa. Periode ini tidak dapat dikonfigurasi.
Jika Pod meminta terlalu sedikit resource (misalnya, jika setelan default tidak memadai), penskalaan otomatis cluster tidak dapat memperbaiki situasi ini. Anda dapat membantu memastikan bahwa penskalaan otomatis cluster berfungsi seakurat mungkin dengan membuat permintaan resource yang memadai untuk semua workload Anda. Untuk mengetahui informasi selengkapnya, baca bagian Mengelola resource untuk container.
Kriteria pengoperasian
Autoscaler cluster membuat asumsi berikut saat mengubah ukuran kumpulan node:
- Semua objek Pod yang direplikasi dapat dimulai ulang pada beberapa node lain, dan kemungkinan menyebabkan gangguan singkat. Jika workload Anda tidak menoleransi gangguan, konfigurasikan workload untuk dijalankan di kumpulan node dengan penskalaan otomatis dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengontrol penjadwalan dengan taint node.
- Autoscaler cluster dapat mengganti operasi pengelolaan node manual apa pun yang Anda lakukan.
- Semua node dalam satu kumpulan node memiliki kumpulan label yang sama.
- Autoscaler cluster memilih grup node yang memiliki CPU yang paling tidak nonaktif atau memori yang tidak terpakai setelah menaikkan skala. Perilaku ini memengaruhi kumpulan node mana yang ditingkatkan skalanya jika Anda memiliki ukuran node yang berbeda (misalnya, CPU tinggi atau node memori tinggi) di cluster yang sama.
Ukuran kumpulan node minimum dan maksimum
Anda dapat menentukan ukuran minimum dan maksimum untuk setiap kumpulan node dalam cluster
dengan tanda min-nodes
dan max-nodes
. Untuk menonaktifkan penskalaan otomatis, tetapkan
min-nodes
dan max-nodes
ke jumlah yang sama. Autoscaler cluster membuat
keputusan penskalaan dalam batas ukuran ini.
Saat menetapkan ukuran maksimum node pool, pastikan ukuran maksimum node pool cukup besar untuk menjalankan semua workload Anda. Jika kumpulan node dalam cluster Anda tidak memiliki cukup memori dan CPU yang tersedia untuk menjalankan semua beban kerja Anda, pemadaman layanan dapat terjadi.
Menggunakan PodDisruptionBudget
untuk melindungi workload
Anda dapat mengonfigurasi GKE di Azure agar terlindung dari gangguan workload dengan PodDisruptionBudget
. Saat membuat PodDisruptionBudget
, Anda menentukan jumlah minimum replika Pod yang harus tersedia atau jumlah maksimum replika Pod yang dapat menjadi tidak tersedia pada waktu tertentu. Untuk informasi
selengkapnya, lihat
Menentukan Anggaran Gangguan untuk Aplikasi.