Melihat pratinjau deployment

Halaman ini menjelaskan cara menggunakan Infrastructure Manager untuk melihat pratinjau deployment resource yang ditentukan dalam konfigurasi Terraform.

Pratinjau menjelaskan tindakan untuk mengaktifkan konfigurasi Terraform tertentu. Sebelum membuat deployment baru atau memperbarui deployment, Anda dapat melihat pratinjau deployment untuk memverifikasi resource yang direncanakan untuk disediakan.

Pratinjau mengeksekusi perintah Terraform plan. Halaman ini mengasumsikan bahwa Anda sudah memahami Terraform. Untuk mengetahui detailnya, lihat Terraform dan Infrastructure Manager.

Untuk membuat pratinjau, konfigurasi Terraform harus kompatibel dengan salah satu versi Terraform yang didukung.

Sebelum memulai

  1. Aktifkan Infra Manager.
  2. Pastikan Anda memiliki izin IAM yang diperlukan untuk membuat pratinjau: roles/config.admin.
  3. Pastikan Anda memiliki akun layanan dengan izin yang diperlukan. Untuk mengetahui detailnya, lihat Mengonfigurasi akun layanan.
  4. Identifikasi konfigurasi Terraform yang akan dilihat pratinjaunya. Pastikan konfigurasi Terraform ini mematuhi batasan, termasuk bahwa konfigurasi tidak berisi data sensitif.
  5. Jika Anda ingin menyimpan konfigurasi Terraform di bucket penyimpanan, pastikan konfigurasi Terraform diupload ke bucket Cloud Storage. Lihat Mengupload konfigurasi ke bucket penyimpanan untuk mengetahui detail selengkapnya.

    Bucket penyimpanan memungkinkan Anda mengontrol akses ke konfigurasi. Anda juga dapat men-deploy konfigurasi Terraform yang disimpan di repositori Git, atau disimpan di komputer lokal Anda.

Melihat pratinjau deployment baru

Konfigurasi Terraform yang Anda lihat pratinjaunya dapat berada di bucket penyimpanan atau di repositori Git.

Melihat pratinjau menggunakan konfigurasi Terraform yang disimpan di bucket Cloud Storage

  1. Pastikan konfigurasi Terraform diupload ke bucket Cloud Storage. Lihat Mengupload konfigurasi ke bucket penyimpanan untuk mengetahui detail selengkapnya.

    Bucket penyimpanan memungkinkan Anda mengontrol akses ke konfigurasi. Anda juga dapat men-deploy konfigurasi Terraform yang disimpan di repositori Git, atau disimpan di komputer lokal Anda.

  2. Untuk melihat pratinjau update:

    gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \
        --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
        --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
        --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
        --tf-version-constraint=TERRAFORM_VERSION \
        --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
    

    Ganti:

    • PROJECT_ID adalah project ID tempat Infrastructure Manager berjalan.
    • LOCATION adalah lokasi tempat Infra Manager berjalan. Lihat Lokasi Infrastructure Manager untuk mengetahui daftar lokasi yang valid.
    • PREVIEW_ID adalah ID pratinjau yang Anda tentukan. Lihat Nama pratinjau untuk mengetahui detail tentang batasan pada ID pratinjau.
    • SERVICE_ACCOUNT adalah nama akun layanan yang Anda gunakan untuk memanggil Infra Manager.
    • SERVICE_ACCOUNT_PROJECT_ID adalah project ID akun layanan. Biasanya, project ini sama dengan project tempat Infra Manager berjalan.
    • BUCKET_NAME adalah nama bucket penyimpanan tempat konfigurasi disimpan.
    • OBJECT_NAME adalah nama objek file konfigurasi. Objek ini dapat berupa direktori atau file zip, tetapi bukan file Terraform. Jika menggunakan pembuatan versi objek, Anda juga dapat menentukan nomor pembuatan objek. Untuk mengetahui detail selengkapnya, lihat Menggunakan objek dengan versi.

      Jika bucket penyimpanan adalah jalur root konfigurasi Terraform, OBJECT_NAME bersifat opsional.

    • INPUT_1_NAME=VALUE dan INPUT_2_NAME=VALUE: nilai input apa pun dalam konfigurasi Terraform, termasuk nilai yang tidak ditentukan secara default. Misalnya, Anda dapat menentukan project tempat Anda men-deploy resource sebagai project_id=my-project.

      Jika semua nilai input ditentukan secara default dalam konfigurasi, flag ini bersifat opsional.

    • Opsional: TERRAFORM_VERSION: versi Terraform yang akan digunakan Infra Manager untuk membuat deployment. Lihat versi Terraform yang didukung untuk mengetahui daftar versi yang didukung. Jika Anda menghapus tanda opsional ini, Terraform versi terbaru yang didukung akan digunakan.

    • Opsional: ANNOTATION_KEY dan ANNOTATION_VALUE mewakili pasangan nilai kunci teks bentuk bebas yang dapat dilampirkan ke deployment Infra Manager Anda. Untuk mengetahui informasi selengkapnya tentang penggunaan dan batasan anotasi dan label, lihat Anotasi dan label.

    Kolom dari deployment seperti konfigurasi, variabel, dan akun layanan Terraform digabungkan secara otomatis ke dalam pratinjau, kecuali jika Anda menentukan nilai baru dalam perintah pratinjau.

Setelah membuat pratinjau, Anda dapat mengekspor dan melihat hasilnya untuk meninjau rencana deployment.

Melihat pratinjau menggunakan konfigurasi Terraform yang disimpan di repositori Git

Saat Anda mengupdate deployment, beberapa resource yang ada mungkin tidak berubah. Melihat pratinjau update akan menunjukkan resource yang direncanakan untuk disediakan atau dihapus dan resource yang tidak direncanakan untuk diubah.

Untuk mengupdate deployment yang disimpan di repositori Git:

  1. Jika Anda menggunakan repositori Git pribadi, pastikan Anda telah menghubungkan ke host GitHub dan repositori GitHub menggunakan Cloud Build untuk memberikan akses Infra Manager ke repositori Anda.

  2. Untuk melihat pratinjau deployment:

    gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \
        --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
        --git-source-repo="GIT_REPO" \
        --git-source-directory="DIRECTORY" \
        --git-source-ref="REF" \
        --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
        --tf-version-constraint=TERRAFORM_VERSION \
        --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
    

Ganti:

  • PROJECT_ID adalah project ID tempat Infrastructure Manager berjalan.
  • LOCATION adalah lokasi tempat Infra Manager berjalan. Lihat Lokasi Infrastructure Manager untuk mengetahui daftar lokasi yang valid.
  • PREVIEW_ID adalah ID pratinjau yang Anda tentukan. Lihat Nama pratinjau untuk mengetahui detail tentang batasan pada ID pratinjau.
  • SERVICE_ACCOUNT adalah nama akun layanan yang Anda gunakan untuk memanggil Infra Manager.
  • SERVICE_ACCOUNT_PROJECT_ID adalah project ID akun layanan. Biasanya, project ini sama dengan project tempat Infra Manager berjalan.
  • GIT_REPO: repositori Git.
  • DIRECTORY: direktori yang memiliki konfigurasi Terraform.
  • REF: referensi Git konfigurasi. Referensi bersifat opsional. Jika Anda tidak menentukan referensi, cabang yang dikonfigurasi default repositori Git akan digunakan.
  • INPUT_1_NAME=VALUE dan INPUT_2_NAME=VALUE: nilai input apa pun dalam konfigurasi Terraform, termasuk nilai yang tidak ditentukan secara default. Misalnya, Anda dapat menentukan project tempat Anda men-deploy resource sebagai project_id=my-project.

    Jika semua nilai input ditentukan secara default dalam konfigurasi, flag ini bersifat opsional.

  • Opsional: TERRAFORM_VERSION: versi Terraform yang akan digunakan Infra Manager untuk membuat deployment. Lihat versi Terraform yang didukung untuk mengetahui daftar versi yang didukung. Jika Anda menghapus tanda opsional ini, Terraform versi terbaru yang didukung akan digunakan.

  • Opsional: ANNOTATION_KEY dan ANNOTATION_VALUE mewakili pasangan nilai kunci teks bentuk bebas yang dapat dilampirkan ke deployment Infra Manager Anda. Untuk mengetahui informasi selengkapnya tentang penggunaan dan batasan anotasi dan label, lihat Anotasi dan label.

Kolom dari deployment seperti konfigurasi, variabel, dan akun layanan Terraform digabungkan secara otomatis ke dalam pratinjau, kecuali jika Anda menentukan nilai baru dalam perintah pratinjau.

Setelah membuat pratinjau, Anda dapat mengekspor dan melihat hasilnya untuk meninjau rencana deployment.

Setelah melihat pratinjau deployment, Anda dapat membuat deployment untuk menyediakan resource. Untuk mengetahui detailnya, lihat men-deploy resource.

Langkah selanjutnya