Resource cakupan project
Config Connector dapat mengelola resource Anda di project, folder, atau tingkat organisasi. Agar Config Connector dapat menentukan tempat untuk membuat sumber daya Anda, pertama-tama fitur ini akan memeriksa kolom yang menentukan cakupan di spesifikasi resource, jika tidak ditemukan, periksa anotasi yang menentukan cakupan.
Tentukan kolom projectRef
Sebagian besar resource Config Connector cakupan project mendukung kolom bernama projectRef
dalam spesifikasi CRD. Gunakan kolom ini untuk menentukan project Google Cloud yang ingin Anda
tempat Anda ingin membuat resource.
Jika project Google Cloud juga dikelola di cluster yang sama dengan Project CRD, Anda dapat menentukan project sebagai referensi resource Kubernetes:
...
spec:
projectRef:
name: PROJECT_RESOURCE_NAME
namespace: PROJECT_RESOURCE_NAMESPACE
...
Pendekatan ini memungkinkan untuk menggunakan Config Connector dan membuat Google Cloud project dengan resource turunannya dalam satu operasi penerapan tunggal. 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 langsung menentukan
project ID Anda. Format nilai yang tepat mungkin berbeda bergantung pada
jenis resource. Dua format yang paling umum adalah "PROJECT_ID" dan
"projects/PROJECT_ID". Lihat contoh
"project/PROJECT_ID" di bawah ini:
...
spec:
projectRef:
external: "projects/PROJECT_ID"
...
Anotasi konfigurasi resource
Jika resource Config Connector tercakup dalam project, tetapi tidak mendukung
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
di dalamnya:
apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
annotations:
cnrm.cloud.google.com/project-id: PROJECT_ID
name: foobarname
Anotasi konfigurasi namespace
Anda dapat menetapkan project ID default untuk resource yang baru dibuat dengan menganotasi namespace Kubernetes Anda. Jika salah satu resource dalam namespace anotasi ini diatur secara eksplisit dalam konfigurasinya sendiri, akan menimpa anotasi tingkat namespace.
Untuk membuat anotasi 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
: ID project 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
: ID project Google Cloud AndaNAMESPACE_NAME
: nama namespace Anda
Setelah file dibuat, terapkan file tersebut ke cluster Anda.
Menggunakan nama namespace sebagai project ID
Jika resource maupun namespace tidak menentukan project ID, maka Config Connector menggunakan nama namespace sebagai project ID. Default ini didukung oleh Config Connector, tetapi kami tidak merekomendasikannya karena default implisit untuk ID proyek bisa membingungkan.