Penskalaan otomatis

Kf memanfaatkan Kubernetes Horizontal Pod Autoscaler (HPA) untuk menskalakan jumlah Pod dalam Aplikasi secara otomatis. Saat penskalaan otomatis diaktifkan untuk Aplikasi, objek HPA akan dibuat dan terikat ke objek Aplikasi. Kemudian, kode ini secara dinamis menghitung skala target dan menetapkannya untuk Aplikasi.

Cara kerja penskalaan Kf

Jumlah Pod yang di-deploy untuk Aplikasi Kf dikontrol oleh kolom replica objek Deployment yang mendasarinya. Jumlah replika Deployment target ditetapkan melalui kolom replicas Aplikasi.

Penskalaan dapat dilakukan secara manual dengan perintah kf scale. Perintah ini dinonaktifkan saat penskalaan otomatis diaktifkan untuk menghindari target yang bertentangan.

Cara kerja Horizontal Pod Autoscaler Kubernetes

Horizontal Pod Autoscaler (HPA) diimplementasikan sebagai resource Kubernetes API (objek HPA) dan loop kontrol (pengontrol HPA) yang secara berkala menghitung jumlah replika yang diinginkan berdasarkan penggunaan resource saat ini. Pengontrol HPA kemudian meneruskan angka tersebut ke objek target yang menerapkan sub-resource Skala. Penskalaan sebenarnya didelegasikan ke objek pokok dan pengontrolnya. Anda dapat menemukan informasi selengkapnya di dokumentasi Kubernetes.

Cara Autoscaler menentukan waktu untuk menskalakan

Secara berkala, pengontrol HPA membuat kueri penggunaan resource terhadap metrik yang ditentukan dalam setiap definisi HorizontalPodAutoscaler. Pengontrol mendapatkan metrik dari API metrik resource untuk setiap Pod. Kemudian, pengontrol menghitung nilai penggunaan sebagai persentase dari permintaan resource yang setara. Jumlah replika yang diinginkan kemudian dihitung berdasarkan rasio persentase saat ini dan persentase yang diinginkan. Anda dapat membaca informasi selengkapnya tentang algoritma penskalaan otomatis di dokumentasi Kubernetes.

Metrik

Kf menggunakan HPA v1 yang hanya mendukung CPU sebagai metrik target.

Cara kerja Kubernetes Horizontal Autoscaler dengan Kf

Saat penskalaan otomatis diaktifkan untuk Aplikasi Kf, pengontrol Kf akan membuat objek HPA berdasarkan batas dan aturan penskalaan yang ditentukan di Aplikasi. Kemudian, pengontrol HPA mengambil spesifikasi dari objek HPA dan menskalakan Aplikasi sebagaimana mestinya.

Objek HPA akan dihapus jika Penskalaan Otomatis dinonaktifkan atau jika Aplikasi yang sesuai dihapus.