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 Identity and Access Management 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.
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
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 \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \ --tf-version-constraint=TERRAFORM_VERSION \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" --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.
- 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: ANNOTATION_KEY dan ANNOTATION_VALUE mewakili pasangan nilai kunci dari 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.
- 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.
Untuk memperbarui deployment yang disimpan di repositori Git:
Jika Anda menggunakan repositori Git pribadi, pastikan Anda telah terhubung ke host GitHub Anda dan repositori GitHub menggunakan Cloud Build untuk memberikan akses Infra Manager ke repositori Anda.
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 \ --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" --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.
- 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: ANNOTATION_KEY dan ANNOTATION_VALUE mewakili pasangan nilai kunci dari 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.
- 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.
Setelah melihat pratinjau deployment, Anda dapat membuat deployment untuk menyediakan resource. Untuk mengetahui detailnya, lihat men-deploy resource.
Langkah berikutnya
- Mengekspor dan melihat hasil pratinjau
- Gunakan Infra Manager untuk men-deploy resource.
- Otomatiskan deployment.
- Pelajari lebih lanjut Terraform dengan Infra Manager.