Memecahkan masalah pembuatan lingkungan

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Halaman ini memberikan informasi pemecahan masalah untuk masalah yang mungkin Anda alami saat membuat lingkungan Managed Airflow.

Untuk mengetahui informasi pemecahan masalah terkait pembaruan dan upgrade lingkungan, lihat Memecahkan masalah pembaruan dan upgrade lingkungan.

Saat lingkungan Managed Airflow 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 Managed Airflow tidak dapat membuat lingkungan karena akun Anda tidak memiliki izin yang memadai, Managed Airflow 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 Managed Airflow (Gen 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 memiliki izin yang tidak memadai

Saat membuat lingkungan Managed Airflow, Anda menentukan akun layanan yang menjalankan node cluster GKE lingkungan. Jika akun layanan ini tidak memiliki izin yang memadai untuk operasi yang diminta, Managed Airflow 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, Managed Airflow 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. Managed Airflow memeriksa peran yang diperlukan pada akun layanan di project Anda, dan jika peran ini tidak ada, Managed Airflow 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 Managed Airflow, lihat Kontrol akses.

Dalam beberapa kasus, Anda dapat mengabaikan peringatan ini. Managed Airflow 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 Managed Airflow saat membuatnya. Jika Anda tidak menentukan jaringan VPC, layanan Managed Airflow akan memilih VPC default dan subnet default untuk region dan zona lingkungan.

Jika jaringan dan subnet VPC yang ditentukan tidak ada, Managed Airflow 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 Managed Airflow (Gen 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 Managed Service for Apache Airflow memerlukan konfigurasi jaringan atau DNS yang tepat. Ikuti petunjuk berikut untuk mengonfigurasi konektivitas ke Google API dan layanan Google:

Jika Anda mengonfigurasi lingkungan Managed Service for Apache Airflow dalam mode VPC Bersama, maka ikuti juga petunjuk VPC Bersama.

Lingkungan Managed Service for Apache Airflow 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 Managed Service for Apache Airflow 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 Managed Airflow dapat dibuat dengan berhasil.

Kebijakan Organisasi Managed Airflow (Generasi 3) Managed Airflow (Generasi 2) Managed Airflow (Generasi 1 Lama)
compute.disableSerialPortLogging Nilai apa pun diizinkan Harus dinonaktifkan Dinonaktifkan untuk versi sebelum 1.13.0; jika tidak, nilai apa pun
compute.requireOsLogin Nilai apa pun diizinkan Nilai apa pun diizinkan Harus dinonaktifkan
compute.vmCanIpForward Nilai apa pun diizinkan Nilai apa pun diizinkan Harus diizinkan (diperlukan untuk cluster GKE milik Managed Airflow) jika mode VPC native (menggunakan IP alias) tidak dikonfigurasi
compute.vmExternalIpAccess Nilai apa pun 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 Nilai apa pun 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 Nilai apa pun diizinkan

Kebijakan batas akses utama yang tidak kompatibel

Kebijakan batas akses utama 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 Managed Airflow.

Pesan Error 400: Gagal men-deploy server web Airflow.

Error ini mungkin disebabkan oleh kegagalan membuat cluster GKE lingkungan IP Pribadi karena rentang IP tumpang-tindih.

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

Cloud Build gagal membuat image lingkungan

Berlaku untuk: Managed Airflow (Gen 2) dan Managed Airflow (Legacy Gen 1).

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 gagal karena 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