Resource cakupan folder


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 folderRef

Sebagian besar resource Config Connector cakupan folder mendukung kolom bernama folderRef dalam spesifikasi CRD. Gunakan kolom ini untuk menentukan folder Google Cloud yang tempat Anda ingin membuat resource.

Jika folder Google Cloud juga dikelola di cluster yang sama melalui Folder CRD, Anda dapat menentukan folder sebagai referensi resource Kubernetes:

...
spec:
  folderRef:
    name: FOLDER_RESOURCE_NAME
    namespace: FOLDER_RESOURCE_NAMESPACE
...

Pendekatan ini memungkinkan untuk menggunakan Config Connector dan membuat Google Cloud dengan resource turunannya dalam satu operasi penerapan tunggal. Kolom namespace bersifat opsional jika resource Folder Config Connector ada namespace Kubernetes yang sama dengan resource cakupan folder Anda.

Jika folder Google Cloud tidak dikelola sebagai resource Kubernetes di cluster yang sama, Anda dapat menggunakan kolom external untuk langsung menentukan ID folder. Format nilai yang tepat mungkin berbeda bergantung pada jenis resource. Dua format yang paling umum adalah "FOLDER_ID" dan "folders/FOLDER_ID". Lihat contoh "FOLDER_ID" di bawah ini:

...
spec:
  folderRef:
    external: "FOLDER_ID"
...

Anotasi konfigurasi resource

Jika resource Config Connector memiliki cakupan folder tetapi tidak mendukung folderRef, Anda dapat menetapkan ID folder ke konfigurasi resource menggunakan anotasi folder-id:

...
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
...

Berikut adalah contoh tampilan YAML resource dengan anotasi ini di dalamnya:

apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
  name: foobarname

Anotasi konfigurasi namespace

Anda dapat menetapkan ID folder 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/folder-id=FOLDER_ID

Ganti kode berikut:

  • NAMESPACE_NAME: nama namespace Anda
  • FOLDER_ID: ID folder 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/folder-id: FOLDER_ID
  name: NAMESPACE_NAME

Ganti kode berikut:

  • FOLDER_ID: ID folder Google Cloud Anda
  • NAMESPACE_NAME: nama namespace Anda

Setelah file dibuat, terapkan file tersebut ke cluster Anda.