Panduan skalabilitas Config Controller

Halaman ini memberikan rekomendasi untuk membantu merencanakan arsitektur pengelolaan konfigurasi Anda instance Pengontrol Konfigurasi dan tetap menyimpan pembuatan serta pengelolaan akun dalam tujuan tingkat layanan (SLO).

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

Menggunakan mode namespace

Sebaiknya gunakan Config Connector dalam mode namespace karena lebih mudah untuk mengelola resource dalam jumlah besar. Anda bisa menetapkan setiap namespace agar sesuai dengan satu namespace, yang bisa 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 berdasarkan 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 mewakili nilai yang kami uji secara rutin. Kita tahu Config Connector dapat menangani angka yang lebih besar. Kami telah menunjukkan bahwa 30.000 resource dapat dikelola dalam satu namespace. Namun, ada beberapa penyesuaian yang diperlukan agar fungsi ini berjalan. Sebaiknya Anda meninjau mode Namespace untuk pengguna terkait perubahan ini.

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

Target ini bukan batas mutlak. Melebarkan jumlah satu jenis resource belum tentu membuat instance Pengontrol Konfigurasi menjadi tidak tersedia, tetapi hal itu dapat mengurangi jumlah total jenis resource lainnya dalam 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 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 Config Connector namespace dalam cluster. Config Connector dapat membuat dan mengelola nomor berikut resource 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

Penggunaan Pengontrol Konfigurasi Mode dengan namespace Config Connector secara {i>default<i}. Tabel berikut menunjukkan contoh jumlah 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 sumber daya berikut untuk membantu menentukan apakah Anda telah mencapai target skalabilitas.

Kuota Google Cloud API

Anda dapat melihat kuota Google Cloud API Anda di Konsol Google Cloud. Saat beberapa kuota mendekati batasnya, pertimbangkan Melakukan sharding kuota API berdasarkan project Google Cloud. Untuk mempelajari lebih lanjut pemantauan dan pemberitahuan tentang metrik kuota, lihat Pantau dan munculkan pemberitahuan terkait 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 Melakukan sharding berdasarkan namespace.

Menskalakan Pengontrol Konfigurasi

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

Sharding berdasarkan namespace

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

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

Kuota Sharding API berdasarkan project Google Cloud

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

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 resource manajemen konfigurasi, misalnya dengan lingkungan pengembangan yang berbeda, 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 telah membuat terlalu banyak resource Config Connector dari Jenis yang sama pada proyek yang sama. Resource tersebut dapat menghasilkan terlalu banyak permintaan API untuk endpoint API yang sama karena strategi rekonsiliasi dalam Konektor Konfigurasi.

Untuk mengatasinya, Anda dapat kuota API sharding berdasarkan project Google Cloud atau permintaan batas kuota yang lebih tinggi.

Batasan GKE

Karena Pengontrol Konfigurasi dibangun di atas GKE, ada batasan dari GKE yang harus Anda pertimbangkan. Bagian berikut membahas pertimbangan khusus terkait Pengontrol Konfigurasi. Untuk informasi selengkapnya tentang batas umum dan praktik terbaik untuk cluster GKE besar, lihat Rencanakan 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 menemui gke-metadata-server Masalah error pod.

Setiap kali Anda menambahkan namespace Config Connector, layanan Kubernetes juga akan dibuat menggunakan akun layanan.

Masalah performa bidang kontrol GKE

Tujuan Bidang kontrol cluster GKE bisa mengalami masalah performa jika instance Pengontrol Konfigurasi 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, pod pengontrol juga akan dibuat.

Langkah selanjutnya