Mengelola resource dengan kolom resourceID

Halaman ini menjelaskan cara mengelola resource dengan kolom resourceID.

Config Connector memungkinkan Anda menentukan ID resource dari resource Google Cloud secara eksplisit menggunakan kolom resourceID yang tidak dapat diubah tetapi opsional untuk membuat atau mendapatkan resource. "Tidak dapat diubah, tetapi opsional" berarti Anda dapat memilih untuk menentukan atau tidak menentukan kolom resourceID, tetapi Anda tidak dapat membuat perubahan apa pun pada nilai kolom resourceID setelah menerapkan manifes ke cluster Anda.

Kolom resourceID meningkatkan fleksibilitas penamaan resource Google Cloudyang memiliki ID resource yang ditentukan pengguna. Dengan menggunakan kolom resourceID di resource Config Connector, Anda dapat menentukan beberapa resource Config Connector dengan jenis yang sama dengan nama resource Google Cloud yang sama di berbagai project, folder, organisasi, atau resource induk dalam namespace yang sama. Nama resource Google Cloud juga tidak dibatasi oleh konvensi penamaan nama objek Kubernetes. Selain itu, kolom resourceID memungkinkan perolehan resource Google Cloud yang memiliki ID resource yang dihasilkan layanan.

Config Connector menjadikan namespace sebagai "pemilik" resource untuk mencegah resource tersebut diambil oleh pemilik lain. Namun, jika Anda menggunakan kolom resourceID, dapat ada beberapa resource dengan nama resource Google Cloud yang sama, yang dibuat dalam namespace yang sama. Resource ini menimbulkan konflik yang tidak dapat dikelola oleh Config Connector. Anda harus menyelesaikan konflik secara manual.

Jenis ID resource

Di Config Connector, ID resource dapat ditentukan pengguna atau dibuat oleh layanan.

ID resource yang ditentukan pengguna
ID resource yang ditentukan, ditetapkan, dan diteruskan oleh pengguna sebelum pembuatan resource. Anda dapat membuat atau mendapatkan resource yang memiliki ID resource yang ditentukan pengguna dengan kolom resourceID.
ID resource yang dibuat layanan
ID resource yang dibuat oleh layanan selama pembuatan resource. ID ini dapat diambil oleh pengguna setelah resource berhasil dibuat. Anda dapat memperoleh resource yang memiliki ID resource yang dibuat layanan dengan kolom resourceID. Biarkan kolom tidak ditentukan jika Anda ingin membuat resource baru yang memiliki ID resource yang dibuat layanan. Lihat daftar Resource dengan ID resource yang dibuat layanan.

Menentukan kolom resourceID

Anda dapat menentukan kolom resourceID di spec resource.

Manifes berikut menjelaskan cara menentukan kolom resourceID untuk topik Pub/Sub. Nama resource Config Connector adalah pubsub-topic-sample dan nama topik Pub/Sub adalah pubsub-topic-id.

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: pubsub-topic-sample
spec:
  resourceID: pubsub-topic-id

Membuat resource dengan kolom resourceID

Membuat set data BigQuery

Dalam contoh ini, Anda membuat set data BigQuery baru menggunakan Config Connector dengan kolom resourceID. Nilai kolom resourceID harus mengikuti konvensi penamaan untuk kolom datasetId set data BigQuery.

  1. Salin konten berikut ke dalam file bernama bigquery-dataset.yaml.

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydataset-sample-for-creation
      spec:
        resourceID: bigquerydataset_sample_with_resourceid
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample with the ResourceID Field"
        friendlyName: bigquerydataset-sample-with-resourceid
        location: US
    
  2. Terapkan file YAML ke cluster Anda.

    kubectl apply --namespace CC_NAMESPACE -f bigquery-dataset.yaml

    Ganti CC_NAMESPACE dengan namespace yang dikelola Config Connector sumber dayanya.

  3. Gunakan kubectl describe untuk melihat detail set data.

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydataset-sample-for-creation

    Ganti CC_NAMESPACE dengan namespace yang dikelola Config Connector sumber dayanya.

Mendapatkan resource dengan kolom resourceID

Saat Anda mengelola resource Google Cloud dengan kolom resourceID, Config Connector akan mengambil alih resource jika:

  • Resource memiliki ID resource yang ditentukan pengguna, dan nilai dalam manifes dan nama resource cocok dengan resource yang ada; Atau,
  • Resource memiliki ID resource yang dibuat oleh layanan.

Mendapatkan folder

Untuk mendapatkan folder menggunakan Config Connector dengan kolom resourceID, selesaikan langkah-langkah berikut:

  1. Salin konten berikut ke dalam file bernama folder.yaml.

        apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
        kind: Folder
        metadata:
          annotations:
            cnrm.cloud.google.com/organization-id: ORG_ID
            # Remove the deletion-policy annotation if it is safe to delete the
            # folder when the resource is deleted from your cluster.
            cnrm.cloud.google.com/deletion-policy: "abandon"
          name: folder-sample-for-acquisition
        spec:
          resourceID: ACQUIRED_FOLDER_ID
          displayName: ACQUIRED_FOLDER_DISPLAY_NAME
    

    Ganti kode berikut:

    • ORG_ID dengan ID numerik untuk organisasi Anda.
    • ACQUIRED_FOLDER_ID dengan ID numerik untuk folder yang akan diperoleh.
    • ACQUIRED_FOLDER_DISPLAY_NAME dengan nama tampilan untuk folder yang akan diperoleh.
  2. Terapkan file YAML ke cluster Anda.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Ganti CC_NAMESPACE dengan namespace yang dikelola Config Connector sumber dayanya.

  3. Gunakan kubectl describe untuk melihat detail folder.

    kubectl describe --namespace CC_NAMESPACE folder folder-sample-for-acquisition

    Ganti CC_NAMESPACE dengan namespace yang dikelola Config Connector sumber dayanya.

Langkah berikutnya

Tinjau Referensi resource untuk mempelajari resource yang didukung Config Connector.