Batas Penskalaan untuk Cloud Service Mesh di GKE
Dokumen ini menjelaskan batas penskalaan bidang kontrol untuk arsitektur Cloud Service Mesh terkelola di GKE sehingga Anda dapat membuat keputusan yang tepat terkait deployment.
Ringkasan
Skalabilitas Cloud Service Mesh di GKE bergantung pada operasi yang efisien dari dua komponen utamanya, yaitu bidang data dan bidang kontrol. Dokumen ini berfokus pada batas penskalaan bidang kontrol. Lihat Praktik Terbaik Skalabilitas untuk praktik terbaik skalabilitas bidang data.
Beberapa batas penskalaan yang didokumentasikan diterapkan oleh batasan kuota. Jika melebihi kuota, Anda harus meminta penambahan kuota. Batas lainnya tidak diberlakukan secara ketat, tetapi dapat menyebabkan perilaku dan performa yang tidak ditentukan jika terlampaui.
Untuk memahami cara resource Istio diterjemahkan ke resource Google Cloud , baca panduan Memahami resource API terlebih dahulu.
Batas penskalaan layanan
Penskalaan layanan dibatasi di sepanjang dua dimensi
Per Project: Maksimal 1.000 layanan Cloud Service Mesh didukung perGoogle Cloud project (kecuali layanan headless Kubernetes).
Per Zona per Project: Karena Cloud Service Mesh membuat grup endpoint jaringan per zona untuk layanan GKE di cluster, Batas kuota NEG Zona berlaku untuk jumlah layanan per project yang dapat memiliki endpoint di zona tersebut.
Perhatikan bahwa setelah Cloud Service Mesh diaktifkan untuk langganan tertentu (yaitu cluster GKE), semua layanan kubernetes dalam cluster akan diterjemahkan ke layanan Cloud Service Mesh, termasuk layanan yang menargetkan beban kerja tanpa sidecar Cloud Service Mesh. Cloud Service Mesh membuat Grup Endpoint Jaringan Zonal untuk semua layanan di cluster GKE. Jika cluster bersifat regional, grup endpoint jaringan akan dibuat untuk semua zona node pool di region.
Layanan Cloud Service Mesh versus layanan Kubernetes
Layanan Cloud Service Mesh tidak sama dengan layanan Kubernetes karena layanan Cloud Service Mesh adalah satu layanan per port.
Misalnya, layanan Kubernetes ini diterjemahkan secara internal menjadi dua layanan Cloud Service Mesh, satu untuk setiap port.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
Subkumpulan aturan tujuan
Saat mengonfigurasi Istio Destination Rule API dengan subset, setiap subset dapat menghasilkan beberapa layanan Cloud Service Mesh baru.
Misalnya, pertimbangkan DestinationRule
berikut yang menargetkan
layanan kubernetes yang ditentukan sebelumnya:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: my-service-destinationrule
spec:
host: my-service
subsets:
- name: testversion
labels:
version: v3
- name: prodversion
labels:
version: v2
Layanan sintetis baru akan dibuat untuk setiap subset yang ditentukan. Jika
layanan Kubernetes asli membuat dua layanan Cloud Service Mesh, DestinationRule
akan membuat 4 layanan Cloud Service Mesh tambahan, 2 untuk setiap subset, sehingga menghasilkan total 6
layanan Cloud Service Mesh.
Deployment multi-project
Saat satu mesh di-deploy di seluruh workload dalam project Google Cloud yang berbeda, semua resource layanan Cloud Service Mesh dibuat di project host fleet. Artinya, semuanya tunduk pada batasan skalabilitas Cloud Service Mesh di project host fleet.
Layanan headless Kubernetes
Layanan headless Kubernetes memiliki batas yang lebih rendah dibandingkan dengan layanan reguler. Cloud Service Mesh hanya mendukung 50 layanan Cloud Service Mesh headless per cluster. Lihat dokumentasi jaringan Kubernetes untuk mengetahui contohnya.
Batas penskalaan endpoint
Batas penskalaan endpoint biasanya berdasarkan hal berikut:
Layanan Cloud Service Mesh
Cluster GKE
Layanan Kubernetes reguler
Kuota endpoint per NEG memengaruhi jumlah maksimum endpoint yang dapat dimiliki oleh satu layanan Kubernetes.
Layanan headless Kubernetes
Untuk layanan headless Kubernetes, Cloud Service Mesh mendukung tidak lebih dari 36 endpoint per layanan headless. Lihat dokumentasi jaringan Kubernetes untuk mengetahui contohnya.
Batas cluster GKE
Cloud Service Mesh mendukung hingga 5.000 endpoint (IP Pod) per cluster.
Batas penskalaan gateway
Saat menggunakan Gateway Istio, terutama untuk menghentikan koneksi HTTPS menggunakan kredensial TLS di secret Kubernetes, Cloud Service Mesh mendukung maksimal jumlah pod berikut:
1.500 pod gateway saat menggunakan cluster GKE Regional
500 pod gateway saat menggunakan cluster GKE Zonal atau Autopilot