Halaman ini menjelaskan:
Cara memeriksa detail dan log untuk deployment dan setiap revisi.
Strategi pemecahan masalah untuk error umum yang mungkin Anda lihat saat men-deploy konfigurasi Terraform.
Memeriksa detail dan log deployment
Anda dapat memeriksa detail dan log untuk deployment dan setiap revisi.
Memeriksa status deployment
Setiap deployment memiliki informasi tentang status saat ini, kode error, dan detail tentang penyebab kegagalan.
Untuk error apa pun, mulai dengan melihat status deployment.
Memeriksa status revisi
Jika deployment gagal dengan kode error REVISION_FAILED
, Anda dapat
melihat status revisi.
Pada output status revisi, lihat kolom stateDetail
dan
errorCode
.
Status revisi menyertakan informasi yang sama seperti untuk deployment. Selain itu, ID build juga disertakan.
Memeriksa log Cloud Build
Lihat status revisi dan dapatkan ID build Cloud Build yang digunakan oleh revisi.
Gunakan ID build untuk memeriksa log Cloud Build. Lihat Melihat hasil build untuk mengetahui detail tentang memeriksa hasil build.
Error yang biasa terjadi
Bagian ini menjelaskan error umum yang mungkin Anda lihat saat men-deploy konfigurasi Terraform dengan Infra Manager.
Deployment gagal
Jika status deployment adalah FAILED
, deployment telah mengalami error yang tidak terduga.
Lihat status deployment
dan periksa kolom stateDetail
dan errorCode
untuk mengetahui informasi selengkapnya.
Jika deployment gagal dengan kode error REVISION_FAILED
, Anda dapat
memeriksa status revisi.
Error konfigurasi
Jika status deployment adalah FAILED
, deployment mungkin gagal karena
error konfigurasi dengan konfigurasi Terraform.
Jika error deployment terkait dengan konfigurasi Anda, kolom tfErrors
dan
errorLogs
akan disertakan dalam output
status deployment.
Contoh error konfigurasi mencakup konfigurasi yang tidak valid atau
izin yang tidak ada.
Lihat error dari Terraform. Dalam output status deployment:
tfErrors
adalah ringkasan error yang dialami Terraform (dibatasi oleh Infra Manager hingga 10 error dalam daftar ini).errorLogs
mengarah ke objek Cloud Storage di bucket artefak Anda. Bucket ini berisi semuatfErrors
dalam format JSON yang dipisahkan baris baru.
Setiap tfError
memiliki alamat resource dan deskripsi error yang dapat dibaca manusia di
kolom errorDescription
. Jika resource gagal karena kode error HTTP
yang ditampilkan dari Google Cloud API, kolom httpResponseCode
juga
akan diisi. Informasi kegagalan API tambahan akan dicatat di
kolom error.
Akun layanan tidak memiliki izin untuk mengambil konfigurasi
Anda akan melihat error berikut:
error downloading 'GCS_LOCATION': googleapi: Error 403: SA_EMAIL does
not have storage.objects.list access to the Google Cloud Storage bucket.
Anda melihat error ini karena Infra Manager tidak memiliki izin untuk mendapatkan konfigurasi Terraform dari bucket Cloud Storage.
Untuk mengatasi masalah ini, berikan peran storage.objectViewer
ke akun layanan. Untuk mengetahui detail tentang cara memberikan izin ke akun layanan, lihat
Mengonfigurasi akun layanan.
Lokasi untuk mengambil konfigurasi salah
Anda akan melihat error berikut:
`blueprint fetch failed: invalid path`
Anda melihat error ini saat lokasi yang tidak valid ditentukan untuk mengambil konfigurasi Terraform. Infra Manager menggunakan istilah blueprint untuk merujuk pada konfigurasi Terraform.
Untuk mengatasi error ini, verifikasi lokasi konfigurasi Terraform, dan pastikan lokasi diformat dengan benar dalam perintah Anda.
Izin salah untuk mengaktifkan resource
Error biasanya berada di bawah tfErrors
dengan kode respons 403
untuk resource yang tidak dapat di-deploy.
Anda melihat error ini saat akun layanan tidak memiliki izin yang memadai untuk membuat, membaca, memperbarui, atau menghapus resource yang ditentukan dalam konfigurasi Terraform.
Untuk mengatasi error ini, lihat Memberikan izin IAM akun layanan.
Konfigurasi dengan backend
Anda akan melihat error berikut:
`blueprint invalid: found backend config in file.tf`
Anda melihat error ini saat konfigurasi Terraform memiliki blok backend. Infrastructure Manager mengelola backend, sehingga blok backend tidak dapat ditentukan dalam konfigurasi Terraform.
Untuk mengatasi error ini, hapus blok backend dari konfigurasi.
Memvalidasi konfigurasi repositori Cloud Build
Jika Infra Manager tidak dapat mengakses repositori Git Anda (menggunakan repositori Git pribadi atau alur kerja otomatis Cloud Build), Anda mungkin perlu memvalidasi bahwa repositori Cloud Build telah dikonfigurasi dengan benar.
Untuk memvalidasi bahwa repositori Cloud Build telah dikonfigurasi untuk memberikan akses ke repositori pribadi, lihat Menghubungkan ke repositori GitHub.
Infra Manager menggunakan koneksi pertama tempat URL repositori Cloud Build cocok dengan konfigurasi Terraform (direferensikan di --git-source-repo
), dan tempat koneksi tersebut dapat menghasilkan token hanya baca.
Koneksi repositori divalidasi secara langsung oleh panggilan ke accessReadToken API di repositori Cloud Build yang dipilih.
Jalankan perintah ini menggunakan akun layanan Infra Manager untuk memverifikasi bahwa izinnya sudah benar:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token \
--impersonate-service-account=SERVICE_ACCOUNT)" \
"https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/connections/CB_CONNECTION/repositories/CB_REPO:accessReadToken"
Langkah selanjutnya
- Pelajari Terraform dengan Google Cloud lebih lanjut.
- Memperbarui deployment.
- Melihat status deployment.
- Lihat referensi yang di-deploy.
- Menghapus deployment.