Memecahkan masalah pembuatan lingkungan

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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 perutean salah.

  • Masalah terkait jaringan. Misalnya, konfigurasi VPC 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, 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 dalam Kontrol akses.

  • Di Cloud Composer 2, pastikan akun layanan Agen Layanan Cloud Composer (service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) telah diberi peran Ekstensi Agen Layanan Cloud Composer v2 API.

  • Pastikan peran Editor ditetapkan untuk Agen Layanan Google API (PROJECT_NUMBER@cloudservices.gserviceaccount.com).

  • 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 dalam Kontrol akses.

Peringatan tentang peran IAM yang tidak ada di akun layanan

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

Pesan peringatan ini menunjukkan kemungkinan penyebab error. Cloud Composer memeriksa peran yang diperlukan pada akun layanan di project Anda, dan jika peran ini tidak ada, Cloud Composer akan membuat pesan peringatan ini.

Solusi: Periksa apakah 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 kasus 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, maka 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 yang 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 rentang IP 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 terjadi 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 telah tercapai.
  • Jumlah maksimum aturan penerusan dalam grup peering untuk Internal TCP/UDP Load Balancing telah tercapai.

Solusi:

Kebijakan organisasi tidak kompatibel

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

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 VPC-native (menggunakan alias IP) tidak dikonfigurasi
compute.vmExternalIpAccess Semua nilai diizinkan Harus diizinkan untuk lingkungan IP Publik Harus diizinkan untuk lingkungan IP Publik
compute.restrictVpcPeering Dapat diberlakukan Tidak dapat diterapkan Tidak dapat diterapkan
compute.disablePrivateServiceConnectCreationForConsumers Semua nilai diizinkan Tidak dapat menolak PRODUSEN_LAYANAN untuk lingkungan IP Pribadi dan Publik. Tidak memengaruhi lingkungan yang ada, yang dapat beroperasi saat kebijakan ini diaktifkan. Tidak dapat melarang SERVICE_PRODUCERS untuk lingkungan IP Pribadi. Tidak memengaruhi lingkungan yang ada, yang dapat beroperasi saat kebijakan ini diaktifkan.
compute.restrictPrivateServiceConnectProducer Jika aktif, masukkan organisasi google.com ke daftar yang diizinkan Jika aktif, masukkan organisasi google.com ke daftar yang diizinkan Semua nilai diizinkan

Kebijakan batas akses prinsipal yang tidak kompatibel

Kebijakan batas akses prinsipal yang dikonfigurasi di organisasi Anda dapat dikonfigurasi sedemikian rupa sehingga memblokir beberapa operasi lingkungan Anda atau mencegah pembuatan lingkungan baru.

Jika demikian, Anda mungkin melihat baris berikut dalam pesan error:

Operations on resource are denied due to an IAM Principal Access Boundary Policy.

Komponen lingkungan Anda berada di project pelanggan dan tenant. Project tenant dikelola oleh Google dan bukan milik organisasi tempat lingkungan berada. Akun layanan lingkungan Anda harus memiliki izin untuk melakukan operasi di project tenant.

Solusi:

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

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

Cloud Build gagal membangun 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 di log Cloud Build.

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

Langkah berikutnya