Cloud Composer 1 | Cloud Composer 2
Halaman ini memberikan informasi pemecahan masalah untuk masalah yang mungkin Anda hadapi saat membuat lingkungan Cloud Composer.
Untuk mengetahui informasi pemecahan masalah terkait mengupdate dan mengupgrade lingkungan, lihat Memecahkan masalah update dan upgrade lingkungan.
Saat lingkungan Cloud Composer dibuat, sebagian besar masalah terjadi karena alasan berikut:
Masalah izin akun layanan
Informasi Firewall, DNS, atau perutean salah
Masalah terkait jaringan. Misalnya, konfigurasi VPC yang tidak valid, konflik alamat IP, atau rentang IP jaringan yang terlalu sempit
Masalah terkait kuota
Kebijakan Organisasi yang Tidak Kompatibel
Izin tidak memadai untuk membuat lingkungan
Jika Cloud Composer tidak dapat membuat lingkungan karena akun Anda tidak memiliki izin yang memadai, pesan error berikut akan muncul:
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
atau
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.
Solusi: Tetapkan peran ke akun Anda dan akun layanan lingkungan Anda seperti yang dijelaskan dalam Kontrol akses.
Di Cloud Composer 2, pastikan akun layanan Agen Layanan Cloud Composer (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
) memiliki peran Ekstensi Agen Layanan Cloud Composer v2 API yang ditetapkan.Pastikan Agen Layanan Google API (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
) memiliki peran Editor yang ditetapkan.Dalam konfigurasi VPC Bersama, ikuti petunjuk Konfigurasi VPC Bersama.
Akun layanan lingkungan tidak memiliki izin yang memadai
Saat membuat lingkungan Cloud Composer, Anda menentukan akun layanan yang menjalankan node cluster GKE lingkungan. Jika akun layanan ini tidak memiliki izin yang memadai untuk operasi yang diminta, Cloud Composer akan menampilkan error berikut:
Errors in: [Web server]; Error messages:
Creation of airflow web server version failed. This may be an intermittent
issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}
Solusi: Tetapkan peran ke akun Anda dan akun layanan lingkungan Anda seperti yang dijelaskan dalam Kontrol akses.
Peringatan tentang peran IAM yang tidak ada di akun layanan
Jika pembuatan lingkungan gagal, Cloud Composer akan membuat pesan peringatan berikut setelah terjadi error: The issue may be caused by missing IAM roles in the following Service Accounts
...
.
Pesan peringatan ini menyoroti kemungkinan penyebab error. Cloud Composer akan memeriksa peran yang diperlukan pada akun layanan dalam project Anda, dan jika peran tersebut tidak ada, Cloud Composer akan membuat pesan peringatan ini.
Solusi: Pastikan akun layanan yang disebutkan dalam pesan peringatan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya tentang peran dan izin di Cloud Composer, lihat Kontrol akses.
Dalam beberapa kasus, Anda dapat mengabaikan peringatan ini. Cloud Composer tidak memeriksa setiap izin yang ditetapkan ke peran. Misalnya, jika Anda menggunakan peran IAM kustom, akun layanan yang disebutkan dalam pesan peringatan mungkin sudah memiliki semua izin yang diperlukan. Dalam hal ini, Anda dapat mengabaikan peringatan ini.
Jaringan VPC yang dipilih untuk lingkungan tidak ada
Anda dapat menentukan jaringan VPC dan subnet untuk lingkungan Cloud Composer saat membuatnya. Jika jaringan VPC tidak ditentukan, layanan Cloud Composer akan memilih VPC default
dan subnet default
untuk region dan zona lingkungan.
Jika jaringan VPC dan subnet yang ditentukan tidak ada, Cloud Composer akan menampilkan error berikut:
Errors in: [GKE cluster]; Error messages:
{"ResourceType":"gcp-types/container-v1:projects.locations.clusters","R
esourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"P
roject \"<your composer project>\" has no network named \"non-existing-
vpc\".","status":"INVALID_ARGUMENT","statusMessage":"Bad
Request","requestPath":"https://container.googleapis.com/
v1/projects/<your composer
project>/locations/<zone>/clusters","httpMethod":"POST"}}
Solusi:
- Di Cloud Composer 2, Anda dapat membuat lingkungan yang menggunakan Private Service Connect, bukan jaringan VPC.
- Sebelum membuat lingkungan, pastikan bahwa jaringan VPC dan subnet untuk lingkungan baru Anda sudah ada.
Konfigurasi jaringan salah
Pembuatan lingkungan Cloud Composer memerlukan konfigurasi jaringan atau DNS yang tepat. Ikuti petunjuk berikut untuk mengonfigurasi konektivitas ke Google API dan layanan Google:
Jika Anda mengonfigurasi lingkungan Cloud Composer dalam mode VPC Bersama, ikuti juga petunjuk VPC Bersama ini.
Lingkungan Cloud Composer menggunakan subnet untuk node cluster dan rentang IP untuk Pod dan Layanan. Untuk memastikan komunikasi dengan rentang IP ini dan rentang IP lainnya, ikuti petunjuk berikut untuk mengonfigurasi aturan firewall:
Anda juga dapat memeriksa entri log apa pun dalam kategori konfigurasi GCE Networking
dan
Subnetwork
tertentu di Aktivitas
untuk melihat apakah ada error yang dilaporkan selama pembuatan lingkungan.
Masalah kuota yang terjadi saat membuat lingkungan dalam jaringan berskala besar
Saat membuat lingkungan Cloud Composer di jaringan berskala besar, Anda mungkin mendapati batasan kuota berikut:
- Jumlah maksimum peering VPC per satu jaringan VPC telah tercapai.
- Jumlah maksimum rentang IP subnet primer dan sekunder tercapai.
- Jumlah maksimum aturan penerusan dalam grup peering untuk Load Balancing TCP/UDP Internal sudah tercapai.
Solusi:
- Di Cloud Composer 2, Anda dapat membuat lingkungan yang menggunakan Private Service Connect, bukan jaringan VPC.
- Di Cloud Composer 1, terapkan pendekatan yang direkomendasikan untuk Cloud Composer dalam jaringan berskala besar.
Kebijakan organisasi yang tidak kompatibel
Kebijakan berikut harus dikonfigurasi dengan benar agar lingkungan Cloud Composer dapat berhasil dibuat.
Kebijakan Organisasi | Cloud Composer 1 | Cloud Composer 2 |
---|---|---|
compute.disableSerialPortLogging |
Dinonaktifkan untuk versi sebelum 1.13.0; jika tidak, nilai apa pun | Harus dinonaktifkan |
compute.requireOsLogin |
Harus dinonaktifkan | Semua nilai diizinkan |
compute.vmCanIpForward |
Harus diizinkan (wajib untuk cluster GKE milik Cloud Composer) jika mode native VPC (menggunakan IP alias) tidak dikonfigurasi | Semua nilai diizinkan |
compute.vmExternalIpAccess |
Harus diizinkan untuk lingkungan IP Publik | Harus diizinkan untuk lingkungan IP Publik |
compute.restrictVpcPeering |
Tidak dapat diterapkan | Tidak dapat diterapkan |
compute.disablePrivateServiceConnectCreationForConsumers |
Semua nilai diizinkan | Tidak dapat melarang "SERVICE_PRODUCERS" jika Private Service Connect digunakan |
Untuk mengetahui informasi selengkapnya, lihat halaman Masalah umum dan Batasan kebijakan organisasi.
Membatasi layanan yang digunakan dalam organisasi atau project
Administrator organisasi atau project dapat membatasi layanan Google yang dapat digunakan dalam project mereka menggunakan batasan kebijakan organisasi gcp.restrictServiceUsage
.
Saat menggunakan kebijakan organisasi ini, penting untuk mengizinkan semua layanan yang diperlukan oleh Cloud Composer.
Pesan Error 400: Gagal men-deploy server web Airflow.
Error ini mungkin disebabkan oleh kegagalan pembuatan cluster GKE lingkungan IP Pribadi karena rentang IP yang tumpang-tindih.
Solusi: Periksa log untuk melihat adanya kegagalan di cluster lingkungan Anda dan selesaikan masalah berdasarkan pesan error GKE.
Cloud Build gagal mem-build image lingkungan
Jika akun layanan Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com
) tidak memiliki peran Akun Layanan Cloud Build (roles/cloudbuild.builds.builder
) di project Anda, upaya untuk membuat atau memperbarui lingkungan mungkin akan gagal dengan error terkait izin.
Misalnya, Anda mungkin melihat pesan denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
yang diikuti dengan ERROR: failed to push because we ran out of retries
di log Cloud Build.
Untuk mengatasi masalah ini, pastikan akun layanan Cloud Build memiliki peran Cloud Build Service Account.