Model deployment Google Kubernetes Engine (GKE) adalah pilihan yang tepat untuk tim independen yang ingin mengelola sendiri infrastruktur dan konfigurasi Autoscaler mereka sendiri di Kubernetes.
Dokumen ini adalah bagian dari rangkaian yang juga mencakup:
- Spanner penskalaan otomatis
- Ringkasan alat Autoscaler
- Men-deploy alat Autoscaler untuk Spanner ke fungsi Cloud Run
Seri ini ditujukan untuk tim IT, Operasi, dan Site Reliability Engineering (SRE) yang ingin mengurangi overhead operasional dan mengoptimalkan biaya penempatan Spanner.
Deployment GKE memiliki kelebihan dan kekurangan berikut:
Kelebihan:
- Berbasis Kubernetes: Untuk tim yang mungkin tidak dapat menggunakan layanan seperti fungsi Cloud Run, deployment ke Kubernetes memungkinkan penggunaan Autoscaler.
- Konfigurasi: Kontrol atas parameter penjadwal adalah milik tim yang memiliki instance Spanner, yang memberi mereka hak istimewa tertinggi untuk menyesuaikan Autoscaler dengan kebutuhan mereka.
Kekurangan:
- Infrastruktur: Dibandingkan dengan desain fungsi Cloud Run, beberapa infrastruktur dan layanan dengan masa aktif lama diperlukan.
- Pemeliharaan: Dengan setiap tim yang bertanggung jawab atas konfigurasi dan infrastruktur Autoscaler, mungkin akan sulit untuk memastikan bahwa semua Autoscaler di seluruh perusahaan mengikuti panduan update yang sama.
- Audit: Karena tingkat kontrol yang tinggi oleh setiap tim, audit terpusat mungkin menjadi lebih kompleks.
Halaman ini memperkenalkan dua cara untuk men-deploy Autoscaler ke GKE berdasarkan persyaratan Anda:
- Topologi deployment yang terpisah. Model deployment yang terpisah memiliki keunggulan bahwa Anda dapat menetapkan izin individual untuk komponen Poller dan Scaler sehingga keduanya berjalan sebagai akun layanan terpisah. Artinya, Anda memiliki fleksibilitas untuk mengelola dan menskalakan kedua komponen tersebut sesuai kebutuhan. Namun, model deployment ini mengharuskan komponen Scaler di-deploy sebagai layanan yang berjalan lama, yang menggunakan resource.
- Topologi deployment terpadu. Model deployment terpadu memiliki keunggulan bahwa komponen Poller dan Scaler dapat di-deploy sebagai satu pod, yang berjalan sebagai tugas cron Kubernetes. Saat kedua komponen di-deploy sebagai satu pod, tidak ada komponen yang berjalan lama dan hanya diperlukan satu akun layanan.
Untuk sebagian besar kasus penggunaan, sebaiknya gunakan model deployment terpadu.
Konfigurasi
Alat Autoscaler mengelola instance Spanner melalui konfigurasi yang ditentukan dalam ConfigMap
Kubernetes.
Jika beberapa instance Spanner perlu di-polling dengan interval
yang sama, sebaiknya konfigurasikan instance tersebut di ConfigMap
yang sama. Berikut adalah contoh konfigurasi dengan dua instance Spanner yang dikelola dengan satu konfigurasi:
apiVersion: v1
kind: ConfigMap
metadata:
name: autoscaler-config
namespace: spanner-autoscaler
data:
autoscaler-config.yaml: |
---
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-linear
units: NODES
minSize: 5
maxSize: 30
scalingMethod: LINEAR
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-threshold
units: PROCESSING_UNITS
minSize: 100
maxSize: 3000
metrics:
- name: high_priority_cpu
regional_threshold: 40
regional_margin: 3
Instance dapat memiliki satu konfigurasi Autoscaler dengan metode linear untuk
operasi normal, dan juga memiliki konfigurasi Autoscaler lain dengan
metode langsung untuk workload batch terencana. Lihat daftar lengkap opsi konfigurasi di
file README
Poller.
Melakukan deployment ke GKE
Untuk mempelajari cara men-deploy Autoscaler ke GKE dalam model deployment terdekode atau terpadu, lihat panduan langkah demi langkah untuk deployment GKE.
Langkah berikutnya
- Pelajari cara men-deploy alat Autoscaler ke fungsi Cloud Run.
- Baca selengkapnya tentang nilai minimum yang direkomendasikan Spanner.
- Baca selengkapnya tentang metrik penggunaan CPU dan metrik latensi Spanner.
- Pelajari praktik terbaik untuk desain skema Spanner untuk menghindari hotspot dan memuat data ke Spanner.
- Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.