Resource cakupan project
Config Connector dapat mengelola resource Anda di tingkat project, folder, atau organisasi. Agar Config Connector dapat menentukan tempat membuat resource, Config Connector akan memeriksa kolom penentu cakupan di spesifikasi resource Anda terlebih dahulu. Jika tidak ditemukan, Config Connector akan memeriksa anotasi penentu cakupan.
Menentukan kolom projectRef
Sebagian besar resource Config Connector cakupan project mendukung kolom bernama projectRef
dalam spesifikasi CRD-nya. Gunakan kolom ini untuk menentukan project Google Cloud tempat Anda
ingin membuat resource.
Jika project Google Cloud juga dikelola di cluster yang sama dengan CRD Project, Anda dapat menentukan project sebagai referensi resource Kubernetes:
...
spec:
projectRef:
name: PROJECT_RESOURCE_NAME
namespace: PROJECT_RESOURCE_NAMESPACE
...
Pendekatan ini memungkinkan penggunaan Config Connector dan pembuatan project Google Cloud dengan resource turunannya dalam satu operasi penerapan. Kolom namespace bersifat opsional jika resource Kubernetes project berada di namespace Kubernetes yang sama dengan resource cakupan project Anda.
Jika project Google Cloud tidak dikelola sebagai resource Kubernetes
di cluster yang sama, Anda dapat menggunakan kolom external
untuk menentukan project ID secara langsung. Format persis nilai dapat berbeda-beda, bergantung pada
jenis resource. Dua format yang paling umum adalah "PROJECT_ID" dan
"projects/PROJECT_ID". Lihat contoh
"projects/PROJECT_ID" di bawah:
...
spec:
projectRef:
external: "projects/PROJECT_ID"
...
Membuat anotasi konfigurasi resource
Jika resource Config Connector memiliki cakupan project, tetapi tidak mendukung kolom projectRef
, Anda dapat menetapkan project ID ke konfigurasi resource menggunakan anotasi project-id
:
...
metadata:
annotations:
cnrm.cloud.google.com/project-id: PROJECT_ID
...
Berikut adalah contoh tampilan YAML resource FooBar
dengan anotasi
ini di dalamnya:
apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
annotations:
cnrm.cloud.google.com/project-id: PROJECT_ID
name: foobarname
Menganotasi konfigurasi namespace
Anda dapat menetapkan project ID default untuk resource yang baru dibuat dengan menganotasi namespace Kubernetes. Jika salah satu resource dalam namespace memiliki anotasi ini yang ditetapkan secara eksplisit dalam konfigurasinya sendiri, anotasi tingkat resource akan menimpa anotasi tingkat namespace.
Untuk menganotasi namespace menggunakan command line, jalankan perintah berikut:
kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/project-id=PROJECT_ID
Ganti kode berikut:
NAMESPACE_NAME
: nama namespace AndaPROJECT_ID
: project ID Google Cloud Anda
Atau, Anda dapat menerapkan manifes YAML yang berisi anotasi. Salin YAML di bawah ke dalam file:
apiVersion: v1
kind: Namespace
metadata:
annotations:
cnrm.cloud.google.com/project-id: PROJECT_ID
name: NAMESPACE_NAME
Ganti kode berikut:
PROJECT_ID
: project ID Google Cloud AndaNAMESPACE_NAME
: nama namespace Anda
Setelah membuat file, terapkan ke cluster Anda.
Menggunakan nama namespace sebagai project ID
Jika resource atau namespace tidak menentukan project ID, Konektor Konfigurasi akan menggunakan nama namespace sebagai project ID. Perilaku default ini didukung oleh Config Connector, tetapi sebaiknya jangan menggunakannya karena project ID default implisit dapat membingungkan.