Praktik terbaik untuk Config Connector
Halaman ini menjelaskan praktik terbaik yang harus dipertimbangkan saat menggunakan Konektor Konfigurasi.
Mengelola batas kuota API
Jika mengalami error yang menunjukkan bahwa Anda telah melebihi batas kuota API, mungkin Anda membuat terlalu banyak resource Config Connector dari Jenis yang sama dalam project kuota yang sama. Jika Anda membuat banyak resource, resource tersebut dapat menghasilkan terlalu banyak API permintaan ke endpoint API yang sama karena strategi rekonsiliasi yang digunakan Config Connector.
Salah satu cara untuk menyelesaikan masalah ini adalah dengan meminta penambahan kuota. Selain kuota meningkat, jika Anda telah mengonfirmasi bahwa error kuota disebabkan oleh permintaan GET terhadap resource Google Cloud yang dikelola oleh Config Connector Anda Anda dapat mempertimbangkan salah satu opsi berikut:
- Tingkatkan interval rekonsiliasi untuk Resource Config Connector
- Membagi resource Anda menjadi beberapa project
- Mengalihkan Config Connector ke mode dengan namespace
Meningkatkan interval rekonsiliasi
Anda dapat menambah waktu mulai dari Config Connector yang merekonsiliasi resource agar tidak mencapai kuota API. Sebaiknya tetapkan rekonsiliasi interval hingga 1 jam.
Untuk meningkatkan interval rekonsiliasi, ikuti langkah-langkah di Mengonfigurasi interval rekonsiliasi.
Bagi resource Anda menjadi beberapa project
Pendekatan ini menyebarkan resource Config Connector di berbagai
project secara terprogram. Pendekatan ini berfungsi dengan baik bila
menambahkan sumber daya baru, tetapi
berisiko untuk membagi resource yang ada karena Anda harus menghapus resource yang ada
dan membuatnya kembali di bawah project yang berbeda. Menghapus resource dapat
menyebabkan kehilangan data dengan beberapa jenis resource, seperti SpannerInstance
atau
BigtableTable
resource. Anda harus mencadangkan data sebelum menghapusnya.
Untuk membagi resource Config Connector yang ada ke dalam project yang berbeda, selesaikan langkah-langkah berikut:
- Tentukan resource Config Connector mana yang akan Anda pindahkan ke berbagai project secara terprogram.
- Hapus resource Config Connector.
Pastikan anotasi
cnrm.cloud.google.com/deletion-policy
tidak disetel keabandon
. - Perbarui kolom
spec.projectRef
ataucnrm.cloud.google.com/project-id
dalam konfigurasi YAML dari resource Config Connector yang Anda berencana untuk pindah ke proyek baru. - Berikan akun layanan IAM yang digunakan oleh Config Connector dengan benar pada project baru.
- Terapkan konfigurasi YAML yang diperbarui ke membuat resource Config Connector.
Beralih ke mode dengan namespace
Anda dapat mengikat berbagai akun layanan IAM yang dimiliki oleh berbagai Project Google Cloud ke berbagai namespace tempat Config Connector berada diinstal di mode namespace, dan membagi resource ke dalam namespace yang berbeda. Untuk mencapai hal ini, selesaikan langkah-langkah berikut:
Konfigurasikan Config Connector untuk dijalankan dalam mode namespace. Membuat akun layanan IAM baru dari berbagai project, dan mengikatnya ke namespace yang berbeda mengikuti petunjuk untuk mengonfigurasi Config Connector untuk setiap project.
Memberi akun layanan IAM yang baru izin yang sesuai untuk proyek yang berisi sumber daya.
Tentukan resource Config Connector mana yang akan Anda pindahkan ke berbagai namespace.
Memperbarui konfigurasi YAML dari resource Config Connector dan menyetel
cnrm.cloud.google.com/deletion-policy
anotasiabandon
.Menerapkan konfigurasi YAML yang diperbarui untuk mengupdate Config Connector resource kebijakan penghapusan.
Perbarui kolom
metadata.namespace
dalam konfigurasi YAML Resource Config Connector yang ingin Anda pindahkan ke berbagai namespace.Terapkan konfigurasi YAML yang diperbarui ke mengakuisisi resource yang ditinggalkan.
Mengelola node pool di cluster GKE
Anda mungkin mengalami error saat membuat cluster dengan menerapkan
ContainerCluster
di Config Connector, lalu mencoba mengupdate
nodeConfig
atau kolom terkait node lainnya dengan menerapkan model
Konfigurasi ContainerCluster
. Error ini disebabkan oleh
kolom yang tidak dapat diubah seperti
sebagai nodeConfig
, nodeConfig.labels
, nodeConfig.taint
, yang merupakan
keterbatasan eksistensi
Google Cloud API.
Jika perlu memperbarui kolom ini, Anda dapat menggunakan
ContainerNodePool
resource untuk mengelola kumpulan node jika kolom ini tidak dapat diubah. Untuk mengelola
kumpulan node yang menggunakan resource ContainerNodePool
, Anda harus menentukan
anotasi cnrm.cloud.google.com/remove-default-node-pool: "true"
. Ini
anotasi menghapus kumpulan node default yang dibuat selama cluster
pembuatan konten. Kemudian, untuk membuat kumpulan node terpisah, tentukan kolom nodeConfig
di
ContainerNodePool
, bukan di ContainerCluster
. Lihat
Contoh resource ContainerNodePool
sebagai referensi.
Anda harus menyetel anotasi
cnrm.cloud.google.com/state-into-spec: absent
untuk resource ContainerCluster
dan ContainerNodePool
. Ini
menghindari potensi kesalahan rekonsiliasi selama interaksi antara
pengontrol Config Connector dan API yang mendasarinya.
Contoh berikut menunjukkan ContainerCluster
dan ContainerNodePool
dengan kumpulan anotasi berikut:
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerCluster metadata: name: containercluster-sample annotations: cnrm.cloud.google.com/remove-default-node-pool: "true" cnrm.cloud.google.com/state-into-spec: absent spec: description: A sample cluster. location: us-west1 initialNodeCount: 1
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerNodePool metadata: labels: label-one: "value-one" name: containernodepool-sample annotations: cnrm.cloud.google.com/state-into-spec: absent spec: location: us-west1 autoscaling: minNodeCount: 1 maxNodeCount: 3 nodeConfig: machineType: n1-standard-1 preemptible: false oauthScopes: - "https://www.googleapis.com/auth/logging.write" - "https://www.googleapis.com/auth/monitoring" clusterRef: name: containercluster-sample