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
- Aktifkan Infra Manager.
- Pastikan Anda memiliki izin IAM yang diperlukan untuk membuat pratinjau:
roles/config.admin
. - Pastikan Anda memiliki akun layanan dengan izin yang diperlukan. Untuk mengetahui detailnya, lihat Mengonfigurasi akun layanan.
- Identifikasi konfigurasi Terraform yang akan dilihat pratinjaunya. Pastikan konfigurasi Terraform ini mematuhi batasan, termasuk bahwa konfigurasi tidak berisi data sensitif.
Melihat pratinjau update pada deployment
Konfigurasi Terraform yang Anda gunakan untuk mengupdate deployment dapat berada di bucket penyimpanan atau di repositori Git.
Anda juga menggunakan konfigurasi Terraform ini untuk melihat pratinjau update.
Melihat pratinjau menggunakan konfigurasi Terraform yang disimpan di bucket Cloud Storage
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.
Identifikasi deployment yang ingin Anda perbarui.
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.
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 \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION
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.
- DEPLOYMENT_ID adalah ID deployment deployment yang ingin Anda perbarui.
- 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.
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.
- Jika konfigurasi Terraform Anda disimpan di repositori Git pribadi dan Anda belum melakukannya, pastikan Anda telah terhubung ke host GitHub dan repositori GitHub menggunakan Cloud Build untuk memberikan akses Infra Manager ke repositori Anda.
Untuk mengupdate deployment:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --deployment=projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \ --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
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.
- DEPLOYMENT_ID adalah ID deployment deployment yang ingin Anda perbarui.
- 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.
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.
Langkah selanjutnya
- Mengekspor dan melihat hasil pratinjau
- Gunakan Infra Manager untuk men-deploy resource.
- Mengotomatiskan deployment.
- Pelajari Terraform dengan Infra Manager lebih lanjut.