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. Saat Anda meneruskan nama lengkap resource ke config-connector export, config-connector akan membuat manifes YAML yang dapat Anda impor ke Config Connector.

Jika resource Google Cloud yang ingin Anda impor ke Config Connector sudah ada dengan nama yang sama, Config Connector akan mengambil kontrol 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 ekspor

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 dengan 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 berupa file, hasilnya akan berisi semua output perintah; jika berupa direktori, direktori akan berisi file baru untuk setiap resource dalam output.
  • --oauth2-token: Token OAUTH2 sebagai identitas Google Cloud. Secara default, config-connector menggunakan kredensial default Google Cloud CLI.
  • --iam-format: Menentukan jenis output resource IAM dengan ekspor Anda. Opsi yang tersedia 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