Halaman ini menjelaskan cara menggunakan Infrastructure Manager untuk melihat pratinjau deployment resource yang ditentukan dalam konfigurasi Terraform.
Pratinjau menjelaskan tindakan untuk menggerakkan konfigurasi Terraform tertentu. Sebelum membuat deployment baru atau memperbarui deployment, Anda dapat melihat pratinjau deployment untuk memverifikasi resource yang direncanakan untuk disediakan.
Pratinjau menjalankan 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 memperbarui 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 update.
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 --provider-source=SERVICE_MAINTAINED
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. Project ini biasanya sama dengan project tempat Infra Manager berjalan.
- DEPLOYMENT_ID adalah ID deployment dari 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 generasi objek. Untuk mengetahui detail selengkapnya, lihat Menggunakan objek berversi.
Jika bucket penyimpanan adalah jalur root konfigurasi Terraform, maka OBJECT_NAME bersifat opsional.
INPUT_1_NAME=VALUE dan INPUT_2_NAME=VALUE: nilai input apa pun dalam konfigurasi Terraform, termasuk 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, maka 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, versi Terraform terbaru yang didukung akan digunakan.
- Opsional: PROVIDER_SOURCE: Menentukan penyedia Terraform mana yang digunakan untuk deployment Google Cloud . Setel ke
SERVICE_MAINTAINED
untuk menggunakan penyedia Terraform yang dikelola Infra Manager. Hapus kolom ini untuk menggunakan penyedia Terraform yang dikelola HashiCorp. Untuk mengetahui informasi selengkapnya, lihat Menggunakan penyedia Terraform untuk Google Cloud.
Kolom dari deployment seperti konfigurasi Terraform, variabel, dan akun layanan akan otomatis digabungkan ke pratinjau kecuali jika Anda menentukan nilai baru dalam perintah pratinjau.
Setelah membuat pratinjau, Anda dapat mengekspor dan melihat hasilnya untuk meninjau rencana penerapan.
Melihat pratinjau menggunakan konfigurasi Terraform yang disimpan di repositori Git
Saat Anda memperbarui 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 memperbarui 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 --provider-source=SERVICE_MAINTAINED
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. Project ini biasanya sama dengan project tempat Infra Manager berjalan.
- DEPLOYMENT_ID adalah ID deployment dari 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 di repositori Git akan digunakan.
INPUT_1_NAME=VALUE dan INPUT_2_NAME=VALUE: nilai input apa pun dalam konfigurasi Terraform, termasuk 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, maka 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, versi Terraform terbaru yang didukung akan digunakan.
- Opsional: PROVIDER_SOURCE: Menentukan penyedia Terraform mana yang digunakan untuk deployment Google Cloud . Setel ke
SERVICE_MAINTAINED
untuk menggunakan penyedia Terraform yang dikelola Infra Manager. Hapus kolom ini untuk menggunakan penyedia Terraform yang dikelola HashiCorp. Untuk mengetahui informasi selengkapnya, lihat Menggunakan penyedia Terraform untuk Google Cloud.
Kolom dari deployment seperti konfigurasi Terraform, variabel, dan akun layanan akan otomatis digabungkan ke pratinjau kecuali jika Anda menentukan nilai baru dalam perintah pratinjau.
Setelah membuat pratinjau, Anda dapat mengekspor dan melihat hasilnya untuk meninjau rencana penerapan.
Langkah berikutnya
- Mengekspor dan melihat hasil pratinjau
- Gunakan Infra Manager untuk men-deploy resource.
- Otomatiskan deployment.
- Pelajari lebih lanjut Terraform dengan Infra Manager.