Dokumen ini menjelaskan cara menskalakan workload stateless yang ada yang berjalan di cluster Kubernetes terisolasi Google Distributed Cloud (GDC). Anda harus menskalakan pod yang berjalan di workload stateless saat persyaratan workload container Anda berkembang.
Dokumen ini ditujukan bagi developer dalam grup operator aplikasi yang bertanggung jawab untuk mengelola workload aplikasi bagi organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.
Sebelum memulai
Untuk menyelesaikan tugas dalam dokumen ini, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.
Meminta peran IAM
Anda harus memiliki peran tertentu untuk mendapatkan izin yang diperlukan guna menskalakan beban kerja stateless. Peran yang Anda perlukan bergantung pada apakah Anda bekerja dalam cluster bersama cakupan organisasi atau cluster standar cakupan project. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi cluster Kubernetes.
Peran cluster bersama
Untuk membuat, menghapus, mengedit, atau melihat workload di cluster bersama, minta Admin IAM Project Anda untuk memberi Anda peran Namespace Admin (namespace-admin). Peran ini terikat ke namespace project Anda.
Peran cluster standar
Untuk membuat, menghapus, mengedit, atau melihat workload di cluster standar, minta Admin IAM Project Anda untuk memberi Anda peran Cluster Developer (cluster-developer). Peran ini terikat ke namespace project Anda.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap cluster Kubernetes menggunakan API, pastikan Anda memiliki resource berikut:
Temukan nama cluster Kubernetes, atau tanyakan nama cluster kepada anggota grup administrator platform.
Login dan buat file kubeconfig untuk cluster Kubernetes.
Gunakan jalur kubeconfig cluster Kubernetes untuk mengganti
KUBERNETES_CLUSTER_KUBECONFIGdalam petunjuk ini.
Menskalakan deployment
Gunakan fungsi penskalaan Kubernetes untuk menskalakan jumlah pod yang berjalan dalam deployment Anda dengan tepat.
Menskalakan pod deployment secara otomatis
Kubernetes menawarkan penskalaan otomatis untuk menghilangkan kebutuhan memperbarui deployment secara manual saat permintaan berubah. Selesaikan langkah-langkah berikut untuk menskalakan pod deployment Anda secara otomatis:
Untuk memastikan penskalaan otomatis pod horizontal dapat mengukur persentase CPU dengan tepat, tetapkan permintaan resource CPU pada deployment Anda.
Tetapkan penskalaan otomatis pod horizontal di deployment Anda:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ -n NAMESPACE \ autoscale deployment DEPLOYMENT_NAME \ --cpu-percent=CPU_PERCENT \ --min=MIN_NUMBER_REPLICAS \ --max=MAX_NUMBER_REPLICASGanti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama deployment yang akan disesuaikan skalanya secara otomatis.CPU_PERCENT: target pemakaian CPU rata-rata yang akan diminta, dinyatakan sebagai persentase, di semua pod.MIN_NUMBER_REPLICAS: batas bawah untuk jumlah pod yang dapat disediakan oleh autoscaler.MAX_NUMBER_REPLICAS: batas atas untuk jumlah pod yang dapat disediakan oleh autoscaler.
Periksa status terkini horizontal pod autoscaler:
kubectl get hpaOutputnya mirip dengan hal berikut ini:
NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE DEPLOYMENT_NAME Deployment/DEPLOYMENT_NAME/scale 0% / 50% 1 10 1 18s
Menskalakan pod deployment secara manual
Jika Anda lebih suka menskalakan deployment secara manual, jalankan:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
Ganti kode berikut:
KUBERNETES_CLUSTER_KUBECONFIG: file kubeconfig untuk cluster.NAMESPACE: namespace. Untuk cluster bersama, ini harus berupa namespace project. Untuk cluster standar, namespace-nya dapat berupa namespace apa pun.DEPLOYMENT_NAME: nama deployment yang akan diskala otomatis.DEPLOYMENT_NAME: jumlah objekPodyang direplikasi dalam deployment.