Memperbarui deployment

Halaman ini menjelaskan cara menggunakan Infrastructure Manager untuk mengupdate deployment. Kasus saat Anda dapat mengupdate deployment meliputi:

  • Untuk mengembalikan infrastruktur ke status yang dipilih.

    Saat Anda membuat deployment, setelah beberapa waktu, resource mungkin telah berubah. Misalnya, beberapa resource mungkin telah diubah oleh seseorang yang bekerja di konsol. Anda dapat memperbarui deployment menggunakan konfigurasi Terraform asli untuk mengembalikannya ke status yang dipilih.

  • Untuk menerapkan perubahan pada infrastruktur.

    Setelah membuat deployment, Anda mungkin ingin mengubah infrastruktur. Misalnya, menambahkan resource baru atau mengubah beberapa konfigurasi. Anda dapat mengupdate deployment menggunakan konfigurasi Terraform yang menjelaskan infrastruktur baru.

Halaman ini mengasumsikan bahwa Anda sudah memahami Terraform. Untuk mengetahui detailnya, lihat Terraform dan Infra Manager.

Sebelum memulai

  1. Pastikan Infra Manager diaktifkan.
  2. Pastikan Anda memiliki izin IAM yang diperlukan untuk membuat deployment: roles/config.admin
  3. Pastikan Anda memiliki akun layanan dengan izin yang diperlukan. Untuk mengetahui detailnya, lihat Mengonfigurasi akun layanan.
  4. Identifikasi deployment Infra Manager yang akan diperbarui.
  5. Identifikasi konfigurasi Terraform yang akan di-deploy untuk update. Setiap konfigurasi dapat digunakan untuk revisi. Konfigurasi ini sering kali merupakan versi yang identik atau diperbarui dari konfigurasi yang telah di-deploy.

    Pastikan konfigurasi Terraform ini mematuhi batasan, termasuk bahwa konfigurasi tidak berisi data sensitif.

  6. Konfirmasi kuota organisasi Anda untuk produk yang terkait dengan infrastruktur yang Anda inginkan. Anda mungkin mengalami error deployment jika infrastruktur yang Anda inginkan melebihi kuota organisasi untuk produk yang digunakan deployment Anda. Lihat kuota dan batas untuk mengetahui informasi selengkapnya.

  7. Lakukan langkah-langkah yang diperlukan untuk migrasi data atau kelangsungan layanan untuk resource yang Anda ubah.

  8. Jika Anda ingin melihat pratinjau update sebelum mengonfigurasi resource, lihat Melihat pratinjau update pada deployment.

Memberikan izin khusus untuk konfigurasi

Untuk men-deploy resource Google Cloud yang ditentukan dalam konfigurasi Terraform, akun layanan yang Anda gunakan untuk memanggil Infra Manager memerlukan izin yang khusus untuk:

  • ResourceGoogle Cloud yang ditentukan dalam konfigurasi yang Anda gunakan untuk revisi.

  • Jika konfigurasi yang Anda gunakan untuk revisi menentukan resource yang berbeda dari konfigurasi yang digunakan untuk deployment, Anda memerlukan izin untuk resource yang ditentukan dalam kedua konfigurasi.

Izin khusus untuk resource yang ditentukan dalam konfigurasi merupakan tambahan dari izin yang diperlukan akun layanan untuk menggunakan layanan Infra Manager.

Untuk mengetahui detail tentang cara memberikan izin untuk resource Google Cloud dan memastikan Anda memiliki akses ke project yang diperlukan, lihat Mengonfigurasi akun layanan.

Menghubungkan repositori Git pribadi dan host ke Cloud Build

Jika men-deploy konfigurasi Terraform dari repositori Git pribadi, Anda harus menghubungkan host dan repositori Git ke Cloud Build.

Memperbarui deployment

Untuk mengupdate deployment, Anda men-deploy konfigurasi menggunakan nama deployment yang sama, dan tindakan ini akan membuat revisi. Untuk mengetahui detail selengkapnya, lihat Ringkasan deployment dan revisi.

Jika Anda belum memiliki deployment, lihat Men-deploy infrastruktur menggunakan Infra Manager.

Untuk melihat pratinjau update tanpa menyediakan resource, lihat Melihat pratinjau deployment.

Pilih tab dengan alur kerja yang Anda pilih untuk mengetahui informasi selengkapnya tentang cara memperbarui deployment.

Konsol

Bagian ini menjelaskan cara mengupdate konfigurasi Terraform menggunakan Infra Manager di konsol Google Cloud .

Deploy konfigurasi dan buat revisi:

  1. Di konsol Google Cloud , buka halaman Infra Manager.

    Buka Infra Manager

  2. Di halaman Deployments, lihat di kolom ID, lalu klik deployment yang ingin Anda perbarui.
  3. Di halaman yang berjudul dengan ID deployment Anda, klik Edit.
  4. Di halaman Deployment details, Anda dapat mengubah kolom Terraform version, Service account, dan Source of Terraform configuration . Jika Anda menyediakan repositori Git pribadi, pastikan Anda telah menghubungkan host dan repositori ke Cloud Build.

    Klik Lanjutkan.

  5. Di halaman Terraform details, Anda dapat mengubah Input values untuk konfigurasi Terraform. Klik Continue.
  6. Di halaman Advanced details, Anda dapat mengubah kolom Labels and annotations, Worker pools, dan Artifact Cloud Storage bucket .
  7. Klik Update setelah Anda puas dengan perubahan yang telah Anda buat pada deployment untuk memulai proses update.

Untuk mengetahui informasi selengkapnya tentang parameter deployment dan formatnya, lihat dokumentasi Men-deploy resource.

gcloud CLI

Bagian ini menjelaskan cara men-deploy konfigurasi Terraform yang disimpan di bucket Cloud Storage. Bucket penyimpanan memungkinkan Anda mengontrol akses ke konfigurasi.

  1. Pastikan konfigurasi Terraform berada di bucket Cloud Storage. Lihat Mengupload konfigurasi ke bucket penyimpanan untuk mengetahui detail selengkapnya.
  2. Jika bucket penyimpanan berada di project yang berbeda dengan project tempat Anda menjalankan Infra Manager, Anda harus memastikan bahwa akun layanan Infra Manager memiliki izin baca untuk bucket tersebut. Lihat Mengonfigurasi akun layanan untuk mengetahui detail selengkapnya.

    Jika bucket penyimpanan berada dalam project yang sama dengan Infra Manager, izin baca ke bucket sudah diaktifkan.

  3. Deploy konfigurasi dan buat revisi:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ganti:
  • PROJECT_ID: project ID tempat Infra Manager berjalan.
  • LOCATION: lokasi tempat Infra Manager berjalan. Lihat Lokasi Infra Manager untuk mengetahui daftar lokasi yang valid.
  • DEPLOYMENT_ID: ID deployment yang Anda tentukan. Lihat Nama deployment untuk mengetahui detail tentang batasan pada ID deployment.
  • SERVICE_ACCOUNT_PROJECT_ID adalah project ID akun layanan. Biasanya, project ini sama dengan project tempat Infra Manager berjalan.
  • SERVICE_ACCOUNT: nama akun layanan yang Anda gunakan untuk memanggil Infra Manager.
  • BUCKET_NAME: nama bucket penyimpanan tempat konfigurasi disimpan.
  • OBJECT_NAME: 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.

  • Opsional: QUOTA_VALIDATION: nilai yang menentukan apakah validasi kuota untuk resource dalam file konfigurasi Terraform diaktifkan atau diterapkan saat Anda membuat deployment. Nilai yang memungkinkan mencakup:
    • ENABLED: Mengaktifkan validasi kuota komputasi untuk resource dalam file konfigurasi Terraform. Memberikan visibilitas pada resource dengan kuota yang tidak memadai.
    • ENFORCED: Menerapkan validasi kuota sehingga deployment Anda akan gagal jika tidak ada kuota yang memadai untuk infrastruktur yang ditentukan dalam file konfigurasi Terraform.

    Jika QUOTA_VALIDATION tidak ditentukan, validasi kuota pada file konfigurasi Terraform akan dinonaktifkan. Ini adalah nilai defaultnya. Validasi kuota berlaku pada resource Google Cloud yang terbatas. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.

  • INPUT_1_NAME dan INPUT_2_NAME: 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 untuk Infra Manager yang akan digunakan untuk membuat deployment. Lihat versi Terraform yang didukung untuk mengetahui daftar versi yang didukung. Jika Anda menghapus flag 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.

gcloud CLI

Bagian ini menjelaskan cara menggunakan konfigurasi Terraform yang disimpan di repositori Git.

  1. Pastikan Anda telah menginstal Git.
  2. Jika konfigurasi Terraform Anda disimpan di repositori Git pribadi, pastikan host dan repositori Git Anda terhubung ke Cloud Build.
  3. Deploy konfigurasi dan buat revisi:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --git-source-repo="GIT_REPO" \
            --git-source-directory="DIRECTORY" \
            --git-source-ref="REF" \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ganti:
  • PROJECT_ID: project ID tempat Infra Manager berjalan.
  • LOCATION: lokasi tempat Infra Manager berjalan. Lihat Lokasi Infra Manager untuk mengetahui daftar lokasi yang valid.
  • DEPLOYMENT_ID: ID deployment yang Anda tentukan. Lihat Nama deployment untuk mengetahui detail tentang batasan pada ID deployment.
  • SERVICE_ACCOUNT_PROJECT_ID adalah project ID akun layanan. Biasanya, project ini sama dengan project tempat Infra Manager berjalan.
  • SERVICE_ACCOUNT: nama akun layanan yang Anda gunakan untuk memanggil Infra Manager.
  • GIT_REPO: repositori Git.
  • DIRECTORY: direktori yang memiliki konfigurasi Terraform.
  • Opsional: REF: referensi Git konfigurasi. Referensi bersifat opsional. Jika Anda tidak menentukan referensi, cabang yang dikonfigurasi default repositori Git akan digunakan.
  • Opsional: QUOTA_VALIDATION: nilai yang menentukan apakah validasi kuota untuk resource dalam file konfigurasi Terraform diaktifkan atau diterapkan saat Anda membuat deployment. Nilai yang memungkinkan mencakup:
    • ENABLED: Mengaktifkan validasi kuota komputasi untuk resource dalam file konfigurasi Terraform. Memberikan visibilitas pada resource dengan kuota yang tidak memadai.
    • ENFORCED: Menerapkan validasi kuota sehingga deployment Anda akan gagal jika tidak ada kuota yang memadai untuk infrastruktur yang ditentukan dalam file konfigurasi Terraform.

    Jika QUOTA_VALIDATION tidak ditentukan, validasi kuota pada file konfigurasi Terraform akan dinonaktifkan. Ini adalah nilai defaultnya. Validasi kuota berlaku pada resource Google Cloud yang terbatas. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.

  • INPUT_1_NAME dan INPUT_2_NAME: 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 untuk Infra Manager yang akan digunakan 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 key-value pair 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.

gcloud CLI

Bagian ini menjelaskan cara menggunakan konfigurasi Terraform yang disimpan di mesin lokal Anda.

  1. Jika menggunakan Cloud Shell, Anda perlu mengupload konfigurasi ke Cloud Shell. Untuk mengetahui detailnya, lihat Mengelola file dengan Cloud Shell.
  2. Deploy konfigurasi dan buat revisi:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
            --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
            --local-source="LOCAL_DIRECTORY" \
            --quota-validation=QUOTA_VALIDATION \
            --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
            --tf-version-constraint=TERRAFORM_VERSION \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Ganti:
  • PROJECT_ID: project ID tempat Infra Manager berjalan.
  • LOCATION: lokasi tempat Infra Manager berjalan. Lihat Lokasi Infra Manager untuk mengetahui daftar lokasi yang valid.
  • DEPLOYMENT_ID: ID deployment yang Anda tentukan. Lihat Nama deployment untuk mengetahui detail tentang batasan pada ID deployment.
  • SERVICE_ACCOUNT_PROJECT_ID adalah project ID akun layanan. Biasanya, project ini sama dengan project tempat Infra Manager berjalan.
  • SERVICE_ACCOUNT: nama akun layanan yang Anda gunakan untuk memanggil Infra Manager.
  • LOCAL_DIRECTORY: direktori lokal yang menyimpan konfigurasi Terraform. Jika Anda menggunakan Cloud Shell, ini adalah direktori di Cloud Shell tempat konfigurasi disimpan.
  • Opsional: QUOTA_VALIDATION: nilai yang menentukan apakah validasi kuota untuk resource dalam file konfigurasi Terraform diaktifkan atau diterapkan saat Anda membuat deployment. Nilai yang memungkinkan mencakup:
    • ENABLED: Mengaktifkan validasi kuota komputasi untuk resource dalam file konfigurasi Terraform. Memberikan visibilitas pada resource dengan kuota yang tidak memadai.
    • ENFORCED: Menerapkan validasi kuota sehingga deployment Anda akan gagal jika tidak ada kuota yang memadai untuk infrastruktur yang ditentukan dalam file konfigurasi Terraform.

    Jika QUOTA_VALIDATION tidak ditentukan, validasi kuota pada file konfigurasi Terraform akan dinonaktifkan. Ini adalah nilai defaultnya. Validasi kuota berlaku pada resource Google Cloud yang terbatas. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.

  • INPUT_1_NAME dan INPUT_2_NAME: 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 untuk Infra Manager yang akan digunakan 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 key-value pair 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.

Langkah selanjutnya