Memecahkan masalah pembuatan lingkungan

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini memberikan informasi pemecahan masalah untuk masalah yang mungkin Anda alami saat membuat lingkungan Cloud Composer.

Untuk mengetahui informasi pemecahan masalah terkait update dan upgrade 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 pemilihan rute 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 Tidak Kompatibel.

Izin tidak memadai untuk membuat lingkungan

Jika Cloud Composer tidak dapat membuat lingkungan karena akun Anda tidak memiliki izin yang memadai, Cloud Composer akan menampilkan pesan error berikut:

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 di Kontrol akses.

  • Di Cloud Composer 2, pastikan akun layanan Cloud Composer Service Agent (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 mengonfigurasi 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 di Kontrol akses.

Peringatan tentang peran IAM yang tidak ada di akun layanan

Jika pembuatan lingkungan gagal, Cloud Composer akan menampilkan pesan peringatan berikut setelah error terjadi: The issue may be caused by missing IAM roles in the following Service Accounts ....

Pesan peringatan ini menyoroti kemungkinan penyebab error. Cloud Composer memeriksa peran yang diperlukan di akun layanan dalam project Anda, dan jika peran ini tidak ada, Cloud Composer akan menampilkan 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 izin individual 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 Anda tidak menentukan jaringan VPC, layanan Cloud Composer akan memilih VPC default dan subnet default untuk region dan zona lingkungan.

Jika jaringan dan subnet VPC 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 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.

Lingkungan Cloud Composer menggunakan subnet untuk node cluster dan rentang IP untuk Pod dan Layanan. Untuk memastikan komunikasi dengan rentang IP ini dan lainnya, ikuti petunjuk berikut untuk mengonfigurasi aturan firewall:

Anda juga dapat memeriksa entri log dalam kategori konfigurasi GCE Networking dan Subnetwork tertentu di Cloud Logging untuk melihat apakah ada error yang dilaporkan selama pembuatan lingkungan: Cloud Logging

Masalah kuota yang dialami saat membuat lingkungan di jaringan skala besar

Saat membuat lingkungan Cloud Composer di jaringan skala besar, Anda mungkin mengalami batasan kuota berikut:

  • Jumlah maksimum peering VPC per jaringan VPC tunggal telah tercapai.
  • Jumlah maksimum rentang IP subnet primer dan sekunder tercapai.
  • Jumlah maksimum aturan penerusan dalam grup peering untuk Load Balancing TCP/UDP Internal telah tercapai.

Solusi:

Kebijakan organisasi tidak kompatibel

Kebijakan berikut harus dikonfigurasi dengan benar agar lingkungan Cloud Composer dapat berhasil dibuat.

Kebijakan Organisasi Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging Semua nilai diizinkan Harus dinonaktifkan Dinonaktifkan untuk versi sebelum 1.13.0; jika tidak, nilai apa pun
compute.requireOsLogin Semua nilai diizinkan Semua nilai diizinkan Harus dinonaktifkan
compute.vmCanIpForward Semua nilai diizinkan Semua nilai diizinkan Harus diizinkan (diperlukan untuk cluster GKE milik Cloud Composer) jika mode native VPC (menggunakan IP alias) tidak dikonfigurasi
compute.vmExternalIpAccess Semua nilai diizinkan Harus diizinkan untuk lingkungan IP Publik Harus diizinkan untuk lingkungan IP Publik
compute.restrictVpcPeering Dapat diterapkan Tidak dapat diterapkan Tidak dapat diterapkan
compute.disablePrivateServiceConnectCreationForConsumers Semua nilai diizinkan Tidak dapat melarang SERVICE_PRODUCERS untuk lingkungan IP Pribadi dan Publik. Tidak memengaruhi lingkungan yang ada, lingkungan tersebut dapat beroperasi saat kebijakan ini diaktifkan. Tidak dapat melarang SERVICE_PRODUCERS untuk lingkungan IP Pribadi. Tidak memengaruhi lingkungan yang ada, lingkungan tersebut dapat beroperasi saat kebijakan ini diaktifkan.
compute.restrictPrivateServiceConnectProducer Jika aktif, tambahkan organisasi google.com ke daftar yang diizinkan Jika aktif, tambahkan organisasi google.com ke daftar yang diizinkan Semua nilai diizinkan

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 untuk membuat cluster GKE lingkungan IP Pribadi karena rentang IP yang tumpang-tindih.

Solusi: Periksa log untuk menemukan kegagalan di cluster lingkungan Anda dan selesaikan masalah berdasarkan pesan error GKE.

Cloud Build gagal mem-build image lingkungan

Berlaku untuk: Cloud Composer 2 dan Cloud Composer 1.

Jika akun layanan Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com) tidak memiliki peran Cloud Build Service Account (roles/cloudbuild.builds.builder) di project Anda, upaya untuk membuat atau memperbarui lingkungan mungkin gagal dengan error terkait izin.

Misalnya, Anda mungkin melihat pesan denied: Permission "artifactregistry.repositories.uploadArtifacts" denied diikuti dengan ERROR: failed to push because we ran out of retries dalam log Cloud Build.

Untuk mengatasi masalah ini, pastikan akun layanan Cloud Build memiliki peran Cloud Build Service Account.

Langkah selanjutnya