Panduan skalabilitas Config Controller

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

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 rujuk dalam Google Cloud konten, lihat Peran dan tugas pengguna GKE umum.

Menggunakan mode dengan namespace

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

Target skalabilitas

Tabel berikut menampilkan nilai yang kami uji secara rutin. Kami tahu bahwa Config Connector dapat menangani jumlah yang lebih besar. Kami 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 terkait perubahan ini.

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

Target ini bukanlah batas yang sulit. Memperluas jumlah satu jenis resource tidak akan 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 Config Controller dengan satu namespace Config Connector di cluster. Config Connector dapat membuat dan mengelola jumlah 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 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.

Google Cloud Kuota API

Anda dapat melihat kuota Google Cloud API di Google Cloud konsol. Jika beberapa kuota mendekati batasnya, pertimbangkan untuk membagi kuota Sharding API menurut Google Cloud project. 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.

Membuat shard berdasarkan namespace

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

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

Membagi kuota API berdasarkan Google Cloud project

Jika Anda mencapai target skalabilitas karena mencapai Google Cloud Kuota API, Anda dapat mengikat akun layanan IAM yang berbeda yang dimiliki oleh project Google Cloud yang berbeda ke namespace yang berbeda 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 Pengontrol Konfigurasi, Anda dapat membagi pengelolaan konfigurasi resource, misalnya, menurut lingkungan pengembangan, tim aplikasi, atau direktori GitOps yang berbeda dalam organisasi Anda.

Pertimbangan skalabilitas lainnya

Google Cloud Kuota 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 dalam 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 memecah kuota API menurut Google Cloud project atau meminta penyesuaian kuota.

Batasan GKE

Karena Config Controller dibangun di atas GKE, ada batasan dari GKE yang harus Anda pertimbangkan. Bagian berikut membahas pertimbangan khusus terkait Config Controller. Untuk mengetahui informasi selengkapnya tentang batas umum dan praktik terbaik untuk cluster GKE besar, lihat Merencanakan cluster GKE 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, akun layanan Kubernetes juga akan dibuat.

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

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

Langkah berikutnya