Memecahkan masalah pembuatan lingkungan

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:

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.

Langkah selanjutnya