Panduan skalabilitas Config Controller

Halaman ini memberikan rekomendasi untuk membantu merencanakan arsitektur pengelolaan konfigurasi Anda pada instance Pengontrol Konfigurasi dan mempertahankan pembuatan serta pengelolaan resource Google Cloud dalam tujuan tingkat layanan (SLO).

Target skalabilitas

Target skalabilitas Pengontrol Konfigurasi adalah grup resource yang diuji oleh Google dan dengan penggunaan GitOps Config Sync. Anda dapat menggunakan target ini untuk membantu merencanakan arsitektur manajemen konfigurasi.

Target ini bukanlah batas yang mutlak. Memperluas jumlah satu jenis resource tidak selalu membuat instance Pengontrol Konfigurasi tidak tersedia, tetapi dapat mengurangi jumlah total jenis resource lain dalam instance Pengontrol Konfigurasi yang sama yang dapat Anda deploy.

Tabel di halaman ini dimaksudkan sebagai referensi dan tidak lengkap.

Namespace tunggal

Contoh berikut menunjukkan instance Pengontrol Konfigurasi dengan satu namespace Config Connector di cluster. Config Connector dapat membuat dan mengelola sejumlah resource berikut dalam namespace tersebut:

Jenis aset

Batas yang disarankan

SQLInstance

450

SQLDatabase

2.250

SQLUser

2.500

StorageBucket

5.000

ContainerCluster

50

ContainerNodepool

200

IAMServiceAccount

2.500

IAMPartialPolicy

7.500

Beberapa namespace

Contoh berikut menunjukkan instance Pengontrol Konfigurasi dengan 50 namespace Config Connector dalam sebuah cluster. Config Connector dapat membuat dan mengelola sejumlah resource berikut di setiap namespace:

Jenis aset

Batas yang disarankan

SQLInstance

9

SQLDatabase 45
SQLUser 45
StorageBucket 100
ContainerCluster 1
ContainerNodepool 4
IAMServiceAccount 50
IAMPartialPolicy 150

Namespace Config Connector

Pengontrol Konfigurasi menggunakan mode dengan namespace Config Connector secara default. Tabel berikut menunjukkan contoh jumlah namespace Config Connector yang dapat Anda miliki dalam satu instance Config Connector.

--cluster-ipv4-cidr-block

Jumlah node

Jumlah namespace Config Connector

/18

64

600

/19

32

300

/20 (default dan direkomendasikan)

16

120

/21

8

60

Memeriksa target skalabilitas

Anda dapat menggunakan referensi berikut untuk membantu menentukan apakah Anda telah mencapai target skalabilitas.

Kuota Google Cloud API

Anda dapat melihat kuota Google Cloud API di Konsol Google Cloud. Jika beberapa kuota hampir mencapai batasnya, pertimbangkan untuk Melakukan sharding kuota API dengan project Google Cloud. Untuk mempelajari lebih lanjut pemantauan dan pemberitahuan terkait metrik kuota, lihat Memantau dan mengirimkan pemberitahuan terkait metrik kuota.

Penggunaan memori Config Connector

Anda dapat melihat penggunaan memori Config Connector Anda di dasbor pemantauan GKE. Jika penggunaan memori Config Connector mendekati batasnya, pertimbangkan untuk Melakukan sharding berdasarkan namespace.

Meningkatkan Pengontrol Konfigurasi

Jika telah mencapai target skalabilitas, Anda harus mempertimbangkan untuk meningkatkan skala instance Pengontrol Konfigurasi lebih lanjut. Bagian ini menguraikan berbagai metode yang dapat Anda gunakan untuk meningkatkan skala instance Pengontrol Konfigurasi.

Sharding menurut namespace

Jika mencapai target skalabilitas dengan satu namespace Config Connector, Anda dapat Mengonfigurasi Config Connector untuk mengelola resource di namespace.

Setiap namespace menggunakan akun layanan dan beban kerja operatornya sendiri, sehingga Config Connector dapat mengelola resource Anda dalam skala besar. Jika menggunakan satu instance Config Connector untuk mengelola beberapa project Google Cloud, Anda dapat menggunakan satu namespace Config Connector untuk mengelola setiap project Google Cloud.

Kuota API sharding berdasarkan project Google Cloud

Jika mencapai target skalabilitas karena telah mencapai Kuota Google Cloud API, Anda dapat mengikat berbagai akun layanan IAM yang dimiliki oleh berbagai project Google Cloud ke namespace berbeda tempat Config Connector diinstal dalam mode namespace. Selanjutnya, Anda dapat membagi resource menjadi beberapa project.

Sharding berdasarkan instance Config Connector

Jika mencapai target skalabilitas dengan beberapa namespace Config Connector, Anda dapat membuat dan menggunakan lebih dari satu instance Pengontrol Konfigurasi. Dengan lebih dari satu instance Pengontrol Konfigurasi, Anda dapat melakukan sharding pengelolaan konfigurasi resource, misalnya, berdasarkan berbagai lingkungan pengembangan, tim aplikasi, atau direktori GitOps dalam organisasi Anda.

Pertimbangan skalabilitas lainnya

Kuota Google Cloud API

Jika mengalami error yang menunjukkan bahwa Anda telah melebihi batas kuota API, Anda mungkin membuat terlalu banyak resource Config Connector dengan Jenis yang sama pada project yang sama. Resource tersebut dapat menghasilkan terlalu banyak permintaan API ke endpoint API yang sama karena strategi rekonsiliasi di Config Connector.

Untuk mengatasi hal ini, Anda dapat melakukan sharding kuota API oleh project Google Cloud atau meminta batas kuota yang lebih tinggi.

Batasan GKE

Karena Pengontrol Konfigurasi di-build di atas GKE, ada batasan dari GKE yang harus Anda pertimbangkan. Bagian berikut membahas pertimbangan khusus yang terkait dengan Pengontrol Konfigurasi. Untuk mengetahui informasi selengkapnya tentang batas umum dan praktik terbaik untuk cluster GKE besar, lihat Merencanakan cluster GKE yang besar.

Batas akun layanan Kubernetes

Jumlah Akun Layanan Kubernetes (KSA) yang dibuat dalam satu cluster GKE tidak boleh melebihi 3.000 karena Anda mungkin mengalami masalah error Pod gke-metadata-server.

Setiap kali Anda menambahkan namespace Config Connector, tindakan tersebut juga membuat akun layanan Kubernetes.

Masalah performa bidang kontrol GKE

Bidang kontrol cluster GKE dapat mengalami masalah performa jika instance Config Controller memiliki terlalu banyak namespace Config Connector. Anda harus membatasi jumlah namespace Config Connector hingga di bawah 500 per cluster.

Setiap kali Anda menambahkan namespace Config Connector, tindakan ini juga membuat pod pengontrol.

Langkah selanjutnya