Panduan skalabilitas Config Controller

Halaman ini memberikan rekomendasi untuk membantu merencanakan arsitektur pengelolaan konfigurasi di instance Config Controller dan menjaga pembuatan serta pengelolaan resource Google Cloud Anda dalam tujuan tingkat layanan (SLO).

Halaman ini ditujukan untuk Admin, arsitek, dan Operator yang mengelola siklus proses infrastruktur teknologi yang mendasarinya serta merencanakan kapasitas dan kebutuhan infrastruktur. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum.

Menggunakan mode dengan namespace

Sebaiknya gunakan Config Connector dalam mode namespace karena lebih mudah untuk mengelola resource dalam jumlah besar. Anda dapat menetapkan setiap namespace agar sesuai dengan satu namespace, yang dapat membantu mengelola kuota dan konfigurasi, karena resource memiliki kuota baca dan tulis per project. Mulai versi 1.119.0, Anda dapat meningkatkan batas kapasitas rekonsiliasi menurut namespace. Dengan meningkatkan batas kapasitas, Anda dapat mengizinkan rekonsiliasi untuk lebih dari 10.000 resource per namespace dalam interval 10 menit. Config Connector dan Config Sync mendukung mode dengan namespace, yang memungkinkan pemetaan setiap namespace ke satu project Google Cloud.

Target skalabilitas

Tabel berikut menunjukkan nilai yang kami uji secara berkala. Kita tahu bahwa Config Connector dapat menangani jumlah yang lebih besar. Kita telah menunjukkan bahwa 30.000 resource dapat dikelola dalam satu namespace. Namun, ada beberapa penyesuaian yang diperlukan agar ini berfungsi. Sebaiknya tinjau mode Namespace untuk mendapatkan saran tentang perubahan ini.

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

Target ini bukan batas yang tidak dapat dilewati. Memperluas jumlah satu jenis resource tidak akan membuat instance Config Controller tidak tersedia, tetapi dapat mengurangi jumlah total jenis resource lainnya di instance Config Controller yang sama yang dapat Anda deploy.

Tabel di halaman ini dimaksudkan sebagai referensi dan tidak lengkap.

Namespace tunggal

Contoh berikut menunjukkan instance Config Controller dengan satu namespace Config Connector di cluster. Config Connector dapat membuat dan mengelola jumlah resource berikut di 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 Config Controller dengan 50 namespace Config Connector di cluster. Config Connector dapat membuat dan mengelola jumlah 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

Config Controller menggunakan mode 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

Number of nodes

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 mendekati batasnya, pertimbangkan untuk Membagi kuota API menurut project Google Cloud. Untuk mempelajari lebih lanjut pemantauan dan pemberitahuan tentang metrik kuota, lihat Memantau dan memberikan pemberitahuan tentang metrik kuota.

Penggunaan memori Config Connector

Anda dapat melihat penggunaan memori Config Connector di dasbor pemantauan GKE. Jika penggunaan memori Config Connector mendekati batasnya, pertimbangkan untuk melakukan Sharding menurut namespace.

Menskalakan Config Controller

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

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, yang memungkinkan Config Connector 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 Sharding API menurut project Google Cloud

Jika Anda mencapai target skalabilitas karena mencapai Kuota Google Cloud API, Anda dapat mengikat akun layanan IAM yang berbeda-beda dan dimiliki oleh project Google Cloud yang berbeda-beda ke namespace yang berbeda-beda tempat Config Connector diinstal dalam mode namespace. Kemudian, Anda dapat membagi resource ke dalam project yang berbeda.

Sharding menurut instance Config Connector

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

Pertimbangan skalabilitas lainnya

Kuota Google Cloud API

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

Untuk mengatasinya, Anda dapat membagi kuota API menurut project Google Cloud atau meminta batas kuota yang lebih tinggi.

Batasan GKE

Karena Config Controller dibuat di atas GKE, ada batasan dari GKE yang harus Anda pertimbangkan. Bagian berikut membahas pertimbangan tertentu terkait Pengontrol Konfigurasi. Untuk informasi selengkapnya tentang batas umum dan praktik terbaik untuk cluster GKE besar, lihat Merencanakan cluster GKE besar.

Batas akun layanan Kubernetes

​​Jumlah Kubernetes Service Account (KSA) yang dibuat di 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, namespace tersebut juga akan membuat akun layanan Kubernetes.

Masalah performa bidang kontrol GKE

Panel 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 kurang dari 500 per cluster.

Setiap kali Anda menambahkan namespace Config Connector, namespace tersebut juga akan membuat pod pengontrol.

Langkah selanjutnya