Tentang penskalaan otomatis workload berdasarkan metrik


Halaman ini menjelaskan cara meningkatkan atau mengurangi jumlah replika workload tertentu secara otomatis menggunakan metrik kustom, eksternal, atau Prometheus.

Alasan melakukan penskalaan otomatis berdasarkan metrik

Bayangkan sebuah aplikasi yang menarik tugas dari antrean dan menyelesaikannya. Aplikasi mungkin memiliki Tujuan Tingkat Layanan (SLO) terkait waktu untuk memproses tugas, atau untuk jumlah tugas yang tertunda. Jika antrean meningkat, lebih banyak replika workload mungkin akan memenuhi SLO workload. Jika antrean kosong atau menurun lebih cepat dari yang diharapkan, Anda dapat menghemat uang dengan menjalankan lebih sedikit replika, sekaligus tetap memenuhi SLO workload.

Tentang metrik kustom, Prometheus, dan eksternal

Anda dapat menskalakan workload berdasarkan metrik kustom, Prometheus, atau eksternal.

Metrik kustom dilaporkan dari aplikasi Anda yang berjalan di Kubernetes. Untuk mempelajari lebih lanjut, lihat Metrik Kustom dan Prometheus.

Metrik yang berasal dari Google Cloud Managed Service for Prometheus dianggap sebagai jenis metrik kustom.

Metrik eksternal dilaporkan dari aplikasi atau layanan yang tidak berjalan di cluster Anda, tetapi performanya memengaruhi aplikasi Kubernetes Anda. Misalnya, Anda dapat melakukan penskalaan otomatis pada metrik apa pun di Cloud Monitoring, termasuk Pub/Sub atau Dataflow. Metrik Prometheus berisi data yang dihilangkan dari cluster Anda dan dapat digunakan untuk melakukan penskalaan otomatis. Untuk mempelajari lebih lanjut, lihat Metrik eksternal.

Metrik Kustom dan Prometheus

Sebaiknya gunakan Google Cloud Managed Service for Prometheus guna membuat dan mengelola metrik kustom. Anda dapat menggunakan Bahasa Kueri Prometheus (PromQL) untuk membuat kueri semua metrik di Monitoring. Untuk informasi selengkapnya, lihat Penskalaan otomatis Pod horizontal untuk Google Cloud Managed Service for Prometheus.

Aplikasi Anda dapat melaporkan metrik kustom ke Monitoring. Anda dapat mengonfigurasi Kubernetes untuk merespons metrik ini dan menskalakan workload Anda secara otomatis. Misalnya, Anda dapat menskalakan aplikasi berdasarkan metrik seperti kueri per detik, penulisan per detik, performa jaringan, latensi saat berkomunikasi dengan aplikasi yang berbeda, atau metrik lain yang sesuai untuk workload Anda. Untuk informasi selengkapnya, lihat Mengoptimalkan penskalaan otomatis Pod berdasarkan metrik.

Metrik eksternal

Jika perlu menskalakan workload berdasarkan performa aplikasi atau layanan di luar Kubernetes, Anda dapat mengonfigurasi metrik eksternal. Misalnya, Anda mungkin perlu meningkatkan kapasitas aplikasi untuk menyerap pesan dari Pub/Sub jika jumlah pesan yang tidak terkirim mengalami peningkatan. Aplikasi eksternal perlu mengekspor metrik ke instance Monitoring yang dapat diakses oleh cluster. Tren setiap metrik dari waktu ke waktu menyebabkan Horizontal Pod Autoscaler mengubah jumlah replika dalam workload secara otomatis. Untuk informasi selengkapnya, lihat Mengoptimalkan penskalaan otomatis Pod berdasarkan metrik.

Mengimpor metrik ke Monitoring

Untuk mengimpor metrik ke Monitoring, Anda dapat:

Langkah berikutnya