Tentang buffer kapasitas

Buffer kapasitas membantu Anda mengurangi latensi startup Pod untuk workload Google Kubernetes Engine (GKE) dengan memungkinkan Anda mengelola kapasitas cadangan secara proaktif di cluster. Dengan mencadangkan kapasitas cadangan sebelumnya, Anda membantu memastikan bahwa node memiliki kapasitas yang tersedia saat diperlukan, sehingga mengurangi waktu yang diperlukan untuk menjadwalkan Pod baru selama peristiwa penskalaan.

Dokumen ini menjelaskan cara kerja buffer kapasitas. Untuk mempelajari cara mengaktifkan dan menggunakan buffer kapasitas, lihat Mengonfigurasi buffer kapasitas.

Waktu penggunaan buffer kapasitas

Gunakan buffer kapasitas untuk aplikasi yang sensitif terhadap latensi saat memulai dan perlu diskalakan dengan cepat. Saat Anda mengalami peningkatan traffic yang tiba-tiba, buffer kapasitas menyediakan kapasitas yang telah disediakan sebelumnya.

Buffer kapasitas memberikan manfaat berikut:

  • Meminimalkan latensi penskalaan: dengan menggunakan buffer kapasitas, workload penting langsung ditempatkan di node yang telah disediakan sebelumnya. Buffer kapasitas membantu menghilangkan penundaan yang terkait dengan startup VM dan penarikan image, sehingga membantu Anda mempertahankan tujuan tingkat layanan (SLO) yang ketat selama lonjakan traffic.
  • Penyediaan berlebih yang hemat biaya: buffer kapasitas membantu Anda mempertahankan jaring pengaman berukuran tetap. Untuk beban kerja berskala besar, pendekatan ini sering kali lebih hemat biaya daripada metode penyediaan berlebih lainnya (misalnya, menurunkan target pemanfaatan HorizontalPodAutoscaler (HPA)), yang dapat meningkatkan kapasitas tidak aktif secara linear seiring pertumbuhan cluster Anda.
  • Memenuhi persyaratan beban kerja: Anda memiliki kontrol penuh atas ukuran buffer kapasitas. Opsi Anda mencakup menggabungkan daemonset atau data kustom, serta mengontrol pemuatan awal image dan pra-mulai workload.

Sebaiknya gunakan buffer kapasitas untuk beban kerja yang sensitif terhadap latensi yang memerlukan penskalaan cepat, seperti inferensi AI, aplikasi retail selama acara penjualan, atau server game selama aktivitas pemain mencapai puncaknya.

Kami tidak merekomendasikan buffer kapasitas untuk workload yang tidak sensitif terhadap latensi saat memulai, misalnya tugas pemrosesan batch. Untuk beban kerja ini, penyediaan resource yang berlebihan tidak memberikan manfaat.

Cara kerja buffer kapasitas

Terapkan buffer kapasitas dengan menggunakan resource kustom CapacityBuffer Kubernetes untuk menentukan buffer kapasitas cadangan. Penskala otomatis cluster GKE memantau resource CapacityBuffer dan memperlakukannya sebagai permintaan tertunda untuk membantu memastikan ketersediaan kapasitas cadangan. Jika cluster Anda tidak memiliki kapasitas yang cukup untuk memenuhi permintaan resource yang ditentukan dalam buffer, autoscaler cluster akan menyediakan node tambahan.

Saat workload berprioritas tinggi di-scale up, GKE akan segera menjadwalkan workload pada kapasitas yang tersedia di buffer. Penjadwalan langsung ini berlaku untuk jumlah replika atau jumlah resource yang dicadangkan dalam buffer, sehingga menghindari penundaan umum yang terkait dengan penyediaan node. Saat workload menggunakan unit buffer, autoscaler cluster akan menyediakan node baru untuk mengisi ulang buffer.

Buffer aktif menyediakan VM yang berjalan untuk penskalaan beban kerja latensi rendah yang sesuai dengan kapasitas yang dipesan. Karena node sudah siap, node ini memberikan latensi terendah untuk konsumsi buffer awal selama peristiwa penskalaan.

CRD CapacityBuffer

Untuk mengonfigurasi buffer kapasitas, Anda membuat CustomResourceDefinition (CRD) CapacityBuffer. Anda dapat mengonfigurasi buffer kapasitas untuk memenuhi berbagai kriteria:

  • Replika tetap: Tentukan jumlah tetap Pod buffer. Konfigurasi ini adalah cara paling sederhana untuk membuat buffer dengan ukuran yang diketahui.
  • Berdasarkan persentase: Tentukan ukuran buffer sebagai persentase dari workload yang dapat diskalakan yang ada, seperti Deployment. Ukuran buffer disesuaikan secara dinamis saat workload referensi diskalakan.
  • Batas resource: Tentukan total jumlah CPU dan memori yang harus dicadangkan buffer. Pengontrol menghitung jumlah Pod buffer yang akan dibuat berdasarkan permintaan resource template Pod yang dirujuk.

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi CRD CapacityBuffer.

Persyaratan dan batasan

Buffer kapasitas memiliki persyaratan dan batasan berikut:

  • Buffer kapasitas tersedia untuk cluster GKE yang menjalankan versi 1.35.2-gke.1842000 atau yang lebih baru.
  • Buffer kapasitas hanya mendukung workload yang menggunakan model penagihan berbasis node. Buffer kapasitas tidak mendukung workload yang menggunakan model penagihan berbasis Pod.
  • Sebaiknya aktifkan penyediaan otomatis node di cluster Anda. Penyediaan otomatis node memungkinkan autoscaler cluster membuat node pool baru berdasarkan permintaan resource di CapacityBuffer Anda. Jika Anda tidak mengaktifkan penyediaan otomatis node, autoscaler cluster hanya akan meningkatkan skala node pool yang ada.

Langkah berikutnya