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:
- Konfigurasikan Google Cloud Managed Service for Prometheus (direkomendasikan), atau
- Ekspor metrik dari aplikasi menggunakan Cloud Monitoring API.
Langkah berikutnya
- Pelajari cara mengaktifkan penskalaan otomatis Pod horizontal untuk Google Cloud Managed Service for Prometheus.
- Pelajari Penskalaan Otomatis Pod Horizontal lebih lanjut.
- Pelajari penskalaan otomatis Pod Vertikal lebih lanjut