Mengimpor dan mengekspor resource Google Cloud yang ada berdasarkan nama


Halaman ini menjelaskan perintah config-connector export dan cara menggunakannya untuk mengekspor resource Google Cloud ke dalam file YAML Config Connector yang kemudian dapat Anda impor ke Config Connector.

Dengan config-connector export, Anda dapat mengekspor resource Google Cloud yang ada. Jika Anda meneruskan nama lengkap resource ke config-connector export, config-connector akan menghasilkan manifes YAML yang dapat diimpor ke Config Connector.

Jika resource Google Cloud yang ingin Anda impor ke Config Connector sudah ada dengan nama yang sama, Config Connector akan mengambil alih kendali resource dan mengelolanya dengan YAML yang Anda berikan. Config Connector tidak menampilkan error dalam situasi ini kecuali jika YAML yang diberikan berisi perubahan pada kolom yang tidak dapat diubah atau memiliki masalah lain dalam konfigurasi.

Sebelum memulai

Sebelum memulai, instal alat config-connector.

Contoh mengekspor

Dalam contoh ini, Anda membuat PubSubTopic dengan Google Cloud CLI, lalu mengimpornya ke Config Connector.

  1. Buat topik bernama sample-topic:

    gcloud pubsub topics create sample-topic
    

    Anda akan menerima konfirmasi bahwa topik telah dibuat.

    Created topic [projects/PROJECT_ID/topics/sample-topic].
    

    Dalam output, PROJECT_ID diganti dengan project Google Cloud Anda.

  2. Dapatkan ID resource Google Cloud topik dan simpan ke dalam variabel lingkungan dengan perintah berikut:

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Untuk mengidentifikasi resource, config-connector export menggunakan nama resource lengkap. Simpan nama resource topik ke dalam variabel lingkungan dengan perintah berikut:

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Ekspor topik menggunakan config-connector export dengan menjalankan perintah berikut:

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    Output-nya adalah resource Config Connector dalam format YAML.

    ---
    apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
    kind: PubSubTopic
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: PROJECT_ID
      name: sample-topic
    ...
    

    Dalam output, PROJECT_ID diganti dengan project Google Cloud Anda.

  5. Anda dapat meneruskan resource ini ke Config Connector dengan kubectl apply -f -. Untuk meneruskan resource secara langsung, jalankan perintah berikut:

    config-connector export ${TOPIC_RESOURCE_NAME} | kubectl apply -f -  --namespace CC_NAMESPACE
    

    Ganti CC_NAMESPACE dengan namespace tempat Config Connector mengelola resource.

    Config Connector mendapatkan resource.

  6. Pastikan Config Connector mengelola resource dengan kubectl describe:

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Ganti CC_NAMESPACE dengan namespace tempat Config Connector mengelola resource.

Resource yang didukung

Anda dapat mencetak daftar resource untuk alat config-connector beserta format nama resource dengan menjalankan perintah berikut:

config-connector print-resources

Opsi command line

Perintah config-connector export memiliki opsi berikut:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output: Jalur file output opsional yang menonaktifkan output standar. Jika suatu file, hasilnya berisi semua output perintah; saat sebuah direktori, direktori tersebut berisi file baru untuk setiap resource dalam output.
  • --oauth2-token: Token OAUTH2 sebagai Google Cloud Identity. Secara default, config-connector menggunakan kredensial default Google Cloud CLI.
  • --iam-format: Menentukan jenis output resource IAM dengan ekspor Anda. Opsinya adalah policy (default), policymember, atau none.
  • --filter-deleted-iam-members: Menentukan apakah akan memfilter akun utama IAM yang dihapus. Opsinya adalah true atau false. Nilai defaultnya adalah false.
  • --verbose: Mengaktifkan logging panjang.

Langkah selanjutnya