Memecahkan masalah Cloud Run

Halaman ini menampilkan cara menyelesaikan masalah pada Cloud Run.

Untuk masalah lain yang tidak tercantum di bawah, periksa apakah masalah tersebut mungkin masuk ke dalam masalah umum.

Error saat deployment

Bagian ini mencantumkan masalah apa saja yang mungkin Anda alami saat deployment dan memberikan saran tentang cara memperbaiki masalah tersebut.

Container gagal memulai

Error berikut terjadi saat Anda mencoba men-deploy:

Container failed to start. Failed to start and then listen on the port defined by the PORT environment variable.

Untuk mengatasi masalah ini, abaikan kemungkinan penyebab berikut:

  1. Pastikan Anda dapat menjalankan image container secara lokal. Jika image container tidak dapat dijalankan secara lokal, Anda harus mendiagnosis dan memperbaiki masalah secara lokal terlebih dahulu.

  2. Periksa apakah container Anda memproses permintaan pada port yang diharapkan seperti yang tercantum dalam kontrak runtime container. Container Anda harus memproses permintaan masuk pada port yang ditentukan oleh Cloud Run dan disediakan dalam variabel lingkungan PORT. Baca bagian Mengonfigurasi container untuk mengetahui petunjuk cara menentukan port.

  3. Periksa apakah container Anda memproses semua antarmuka jaringan, biasanya dilambangkan dengan 0.0.0.0.

  4. Pastikan image container Anda dikompilasi untuk Linux 64-bit seperti yang disyaratkan oleh kontrak runtime container.

  5. Gunakan Cloud Logging untuk mencari error aplikasi di log stdout atau stderr. Anda juga dapat mencari error yang tertangkap di Error Reporting.

    Anda mungkin perlu memperbarui kode atau setelan revisi untuk memperbaiki kesalahan atau error. Anda juga dapat memecahkan masalah layanan secara lokal.

Error internal, batas waktu kesiapan resource terlampaui

Error berikut terjadi saat Anda mencoba men-deploy atau memanggil Google Cloud API lain:

The server has encountered an internal error. Please try again later. Resource readiness deadline exceeded.

Masalah ini dapat terjadi ketika agen layanan Cloud Run tidak ada, atau jika tidak memiliki peran Agen Layanan Cloud Run (roles/run.serviceAgent).

Untuk memastikan bahwa project Google Cloud Anda memiliki agen layanan Cloud Run dan memiliki peran yang diperlukan, lakukan langkah-langkah berikut:

  1. Buka konsol Google Cloud:

    Buka halaman Izin

  2. Di pojok kanan atas halaman Izin, pilih kotak centang Sertakan pemberian peran yang diberikan Google.

  3. Dalam daftar Akun Utama, cari ID agen layanan Cloud Run, yang menggunakan ID
    service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com.

  4. Pastikan agen layanan memiliki peran Agen Layanan Cloud Run. Jika agen layanan tidak memiliki peran tersebut, berikan perannya.

Error user 'root' tidak ditemukan di /etc/passwd

Error berikut terjadi saat Anda mencoba men-deploy:

ERROR: "User \"root\""not found in /etc/passwd

Masalah ini terjadi saat kunci enkripsi yang dikelola pelanggan ditentukan menggunakan parameter --key

Untuk mengatasi masalah ini, tetapkan USER 0, bukan USER root, di Dockerfile.

Akun layanan Compute Engine default telah dihapus

Error berikut terjadi saat Anda mencoba men-deploy:

ERROR: (gcloud.run.deploy) User EMAIL_ADDRESS does not have permission to access namespace NAMESPACE_NAME (or it may not exist): Permission 'iam.serviceaccounts.actAs' denied on service account PROJECT_NUMBER-compute@developer.gserviceaccount.com (or it may not exist).

Masalah ini terjadi pada situasi berikut:

Untuk menyelesaikan masalah ini:

  1. Tentukan akun layanan menggunakan flag --service-account gcloud.
  2. Pastikan akun layanan yang Anda tentukan memiliki izin yang diperlukan untuk men-deploy.

Jika Anda ingin memastikan apakah agen layanan Compute Engine default muncul di project Google Cloud, lakukan langkah-langkah berikut:

  1. Buka konsol Google Cloud:

    Buka halaman Izin

  2. Di pojok kanan atas halaman Izin, pilih kotak centang Sertakan pemberian peran yang diberikan Google.

  3. Dalam daftar Akun Utama, cari ID agen layanan Compute Engine, yang menggunakan ID
    PROJECT_NUMBER-compute@developer.gserviceaccount.com.

Agen Layanan Cloud Run tidak memiliki izin untuk membaca image

Error berikut terjadi saat Anda mencoba men-deploy dari PROJECT-ID menggunakan image yang disimpan di Container Registry di PROJECT-ID-2:

Google Cloud Run Service Agent must have permission to read the image, gcr.io/PROJECT-ID/IMAGE-NAME. Ensure that the provided container image URL is correct and that above account has permission to access the image. If you just enabled the Cloud Run API, the permissions might take a few minutes to propagate. Note that PROJECT-ID/IMAGE-NAME is not in project PROJECT-ID-2. Permission must be granted to the Google Cloud Run Service Agent from this project.

Untuk mengatasi masalah ini, ikuti rekomendasi pemecahan masalah berikut:

  • Ikuti petunjuk untuk men-deploy image container dari project Google Cloud lainnya guna memastikan akun utama Anda memiliki izin yang diperlukan.

  • Masalah ini juga dapat terjadi jika project berada di perimeter Kontrol Layanan VPC dengan pembatasan pada Cloud Storage API yang melarang permintaan dari agen layanan Cloud Run. Untuk memperbaikinya:

    1. Buka Logs Explorer di Konsol Google Cloud. (Jangan gunakan halaman Logs di dalam halaman Cloud Run):

      Buka Logs Explorer

    2. Masukkan teks berikut di kolom kueri:

      protoPayload.@type="type.googleapis.com/google.cloud.audit.AuditLog"
      severity=ERROR
      protoPayload.status.details.violations.type="VPC_SERVICE_CONTROLS"
      protoPayload.authenticationInfo.principalEmail="service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com"
      
    3. Jika Anda melihat entri log setelah menggunakan kueri ini, periksa entri log untuk menentukan apakah Anda perlu memperbarui kebijakan Kontrol Layanan VPC atau tidak. Kebijakan tersebut mungkin menunjukkan bahwa Anda perlu menambahkan service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com ke kebijakan akses yang sudah ada.

Error impor container

Error berikut terjadi saat Anda mencoba men-deploy:

The service has encountered an error during container import. Please try again later. Resource readiness deadline exceeded.

Untuk mengatasi masalah ini, abaikan kemungkinan penyebab berikut:

  1. Pastikan sistem file container tidak berisi karakter non-utf8.

  2. Beberapa image Docker berbasis Windows menggunakan lapisan asing. Meskipun Container Registry tidak menampilkan error ketika terdapat lapisan asing, bidang kontrol Cloud Run tidak mendukungnya. Untuk menyelesaikan masalah ini, Anda dapat mencoba menetapkan flag --allow-nondistributable-artifacts di daemon Docker.

Error saat inferensi

Bagian ini mencantumkan masalah yang mungkin Anda alami terkait inferensi dan memberikan saran cara memperbaiki masalah tersebut.

HTTP 401: Klien tidak diotentikasi dengan benar

Error berikut terjadi selama inferensi:

The request was not authorized to invoke this service

Untuk menyelesaikan masalah ini:

  • Jika dipanggil oleh akun layanan, klaim audiens (aud) dari token ID yang ditandatangani Google harus ditetapkan sebagai berikut:

    • URL Cloud Run dari layanan penerima, menggunakan formulir https://service-xyz.run.app.
      • Layanan Cloud Run harus mewajibkan autentikasi.
      • Layanan Cloud Run dapat dipanggil oleh URL Cloud Run atau melalui URL load balancer.
    • Client ID dari Client ID OAuth 2.0 dengan jenis aplikasi Web, menggunakan formulir nnn-xyz.apps.googleusercontent.com.
    • Audiens kustom yang dikonfigurasi menggunakan nilai persis yang diberikan. Misalnya, jika audiens kustom adalah service.example.com, nilai klaim audiens (aud) juga harus service.example.com. Jika audiens kustom adalah https://service.example.com, nilai klaim audiens juga harus https://service.example.com.
  • Solusi jwt.io cocok untuk memeriksa klaim pada JWT.

  • Jika format token autentikasi tidak valid, maka akan terjadi error 401. Jika token memiliki format yang valid dan anggota IAM yang digunakan untuk membuat token tidak memiliki izin run.routes.invoke, maka akan terjadi error 403.

HTTP 403: Klien tidak diizinkan untuk memanggil atau memanggil layanan

Error berikut bisa jadi muncul atau tidak di Cloud Logging dengan resource.type = "cloud_run_revision":

The request was not authenticated. Either allow unauthenticated invocations or set the proper Authorization header

Error berikut muncul pada respons HTTP yang ditampilkan ke klien:

403 Forbidden
Your client does not have permission to get URL from this server.

Untuk mengatasi masalah ini saat resource.type = "cloud_run_revision" maka terdapat error pada Cloud Logging :

  • Jika layanan dimaksudkan untuk dapat dipanggil oleh siapa saja, maka update setelan IAM-nya untuk menjadikan layanan tersebut publik.
  • Jika layanan hanya dimaksudkan untuk dipanggil oleh identitas tertentu, pastikan Anda memanggilnya dengan token otorisasi yang tepat.
    • Jika dipanggil oleh developer atau dipanggil oleh pengguna akhir: Pastikan developer atau pengguna memiliki izin run.routes.invoke, yang dapat Anda berikan melalui peran Cloud Run Admin (roles/run.admin) dan Cloud Run Invoker (roles/run.invoker).
    • Jika dipanggil oleh akun layanan: Pastikan akun layanan adalah anggota layanan Cloud Run dan memiliki peran Cloud Run Invoker (roles/run.invoker).
    • Panggilan tidak memiliki token autentikasi atau dengan token autentikasi yang memiliki format valid, tetapi anggota IAM yang digunakan untuk membuat token tidak memiliki izin run.routes.invoke. Ini menyebabkan terjadinya error 403.

Untuk mengatasi masalah ini jika resource.type = "cloud_run_revision" maka error pada Cloud Logging tidak ada:

  • Kode status 403 dapat ditampilkan saat layanan masuk dikonfigurasi ke All, tetapi diblokir karena Kontrol Layanan VPC. Lihat bagian selanjutnya tentang error 404 untuk mengetahui informasi selengkapnya tentang pemecahan masalah penolakan Kontrol Layanan VPC.

HTTP 404: Tidak Ditemukan

Masalah berikut terjadi selama inferensi:

Anda mengalami error HTTP 404.

Untuk menyelesaikan masalah ini:

  1. Pastikan bahwa URL yang Anda minta sudah benar dengan memeriksa halaman detail layanan di Konsol Cloud atau dengan menjalankan perintah berikut:

    gcloud run services describe SERVICE_NAME | grep URL
    
  2. Periksa di mana logika aplikasi Anda mungkin akan menampilkan kode error 404. Jika aplikasi Anda menampilkan 404, hal tersebut akan muncul di Cloud Logging.

  3. Pastikan aplikasi Anda tidak mulai memproses port yang dikonfigurasi sebelum siap menerima permintaan.

  4. Pastikan aplikasi tidak menampilkan kode error 404 saat Anda menjalankannya secara lokal.

404 ditampilkan saat setelan masuk layanan Cloud Run disetel ke "Internal" atau "Internal dan Cloud Load Balancing" dan permintaan tidak memenuhi batasan jaringan yang ditentukan. Dalam skenario ini, permintaan tidak mencapai container dan 404 tidakada di Cloud Logging dengan filter berikut:

resource.type="cloud_run_revision"
log_name="projects/PROJECT_ID/logs/run.googleapis.com%2Frequests"
httpRequest.status=404

Dengan setelan ingress yang sama, permintaan mungkin diblokir oleh Kontrol Layanan VPC berdasarkan konteks pemanggil, termasuk project dan alamat IP. Untuk memeriksa pelanggaran kebijakan Kontrol Layanan VPC:

  1. Buka Logs Explorer di Konsol Google Cloud (bukan halaman Logs untuk Cloud Run):

    Buka Logs Explorer

  2. Masukkan teks berikut di kolom kueri:

    resource.type="audited_resource"
    log_name="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy"
    resource.labels.method="run.googleapis.com/HttpIngress"
    
  3. Jika Anda melihat entri log setelah menggunakan kueri ini, periksa entri log untuk menentukan apakah Anda perlu memperbarui kebijakan Kontrol Layanan VPC atau tidak.

HTTP 429: Instance container tidak tersedia

Error berikut terjadi selama inferensi:

HTTP 429
The request was aborted because there was no available instance.
The Cloud Run service might have reached its maximum container instance
limit or the service was otherwise not able to scale to incoming requests.
This might be caused by a sudden increase in traffic, a long container startup time or a long request processing time.

Untuk mengatasi masalah ini, periksa metrik "Jumlah instance container" untuk layanan Anda dan pertimbangkan untuk meningkatkan batas ini jika penggunaan Anda mendekati batas maksimum. Lihat setelan "maks instance", dan jika Anda memerlukan lebih banyak instance, minta tambahan kuota.

HTTP 500: Cloud Run tidak dapat mengelola laju traffic

Error berikut terjadi selama inferensi dan juga dapat terjadi saat layanan belum mencapai batas instance container maksimum:

HTTP 500
The request was aborted because there was no available instance

Error ini dapat disebabkan oleh salah satu hal berikut:

  • Peningkatan traffic mendadak.
  • Waktu cold start yang lama.
  • Waktu pemrosesan permintaan yang lama, atau peningkatan waktu pemrosesan permintaan yang mendadak.
  • Layanan mencapai batas instance container maksimum (HTTP 429).
  • Faktor sementara yang dikaitkan dengan layanan Cloud Run.

Untuk mengatasi masalah ini, atasi masalah yang tercantum sebelumnya.

Selain memperbaiki masalah ini, sebagai solusinya, Anda dapat menerapkan backoff eksponensial dan mencoba ulang permintaan yang tidak boleh dihapus oleh klien.

Perhatikan bahwa peningkatan traffic atau waktu pemrosesan permintaan yang singkat dan mendadak mungkin hanya terlihat di Cloud Monitoring jika Anda memperbesarnya ke resolusi 10 detik.

Jika penyebab utama masalah adalah periode peningkatan error sementara yang hanya disebabkan oleh Cloud Run, Anda dapat menghubungi Dukungan

HTTP 500 / HTTP 503: Instance container melebihi batas memori

Error berikut terjadi selama inferensi:

Pada Cloud Logging:

While handling this request, the container instance was found to be using too much memory and was terminated. This is likely to cause a new container instance to be used for the next request to this revision. If you see this message frequently, you may have a memory leak in your code or may need more memory. Consider creating a new revision with more memory.

Untuk menyelesaikan masalah ini:

  1. Tentukan apakah instance container Anda melebihi memori yang tersedia Cari kesalahan terkait di log varlog/system.
  2. Jika instance melebihi memori yang tersedia, pertimbangkan untuk meningkatkan batas memori.

Perhatikan bahwa di Cloud Run, file yang ditulis ke sistem file lokal memengaruhi memori yang tersedia. Hal ini juga mencakup segala file log yang ditulis ke lokasi selain /var/log/* dan /dev/log.

HTTP 503: Masalah koneksi instance container atau respons yang salah

Salah satu error berikut terjadi selama inferensi:

HTTP 503
The request failed because either the HTTP response was malformed or connection to the instance had an error.

Untuk mengatasi masalah ini, ikuti rekomendasi pemecahan masalah berikut:

  • Periksa Cloud Logging Gunakan Cloud Logging untuk mencari error kehabisan memori dalam log. Jika Anda melihat pesan error terkait instance container yang melebihi batas memori, ikuti rekomendasi untuk menyelesaikan masalah ini.

  • Waktu tunggu level aplikasi Jika permintaan dihentikan dengan kode error 503 sebelum mencapai waktu tunggu permintaan yang ditetapkan di Cloud Run, Anda mungkin perlu melakukan update setelan waktu tunggu permintaan untuk framework bahasa Anda:

  • Bottleneck jaringan downstream Dalam beberapa kasus, kode error 503 dapat mengakibatkan secara tidak langsung dari bottleneck jaringan downstream, seperti selama pengujian beban. Misalnya, jika layanan Anda merutekan traffic melalui konektor Akses VPC Serverless, pastikan konektor tidak melampaui batas throughput dengan mengikuti langkah-langkah berikut:

    1. Buka Akses VPC Serverless di Konsol Google Cloud:

      Buka Akses VPC Serverless

    2. Periksa apakah ada batang red di histogram chart throughput. Jika ada batang red, pertimbangkan untuk meningkatkan jumlah maksimum instance atau jenis instance yang digunakan konektor Anda. Atau, kompresi traffic yang dikirim melalui konektor Akses VPC Serverless.

  • Batas permintaan masuk ke satu container Ada masalah umum yang menyatakan, saat ada rasio permintaan tinggi per container di situ akan terjadi error 503. Jika instance container menerima lebih dari 800 permintaan per detik, soket TCP yang tersedia dapat habis. Untuk mengatasinya, coba salah satu langkah berikut:

    1. Aktifkan HTTP/2 untuk layanan Anda dan buat perubahan yang diperlukan pada layanan untuk mendukung HTTP/2.

    2. Hindari mengirim lebih dari 800 permintaan/detik ke satu instance container dengan menurunkan konkurensi yang dikonfigurasi. Gunakan persamaan berikut untuk mendapatkan estimasi rasio permintaan per instance container: requests/sec/container_instance ~= concurrency * (1sec / median_request_latency)

HTTP 503: Tidak dapat memproses beberapa permintaan karena setelan konkurensi yang tinggi

Error berikut terjadi selama inferensi:

HTTP 503
The Cloud Run service probably has reached its maximum container instance limit. Consider increasing this limit.

Masalah ini terjadi saat instance container Anda menggunakan banyak CPU untuk memproses permintaan, sehingga instance container tidak dapat memproses semua permintaan sehingga beberapa permintaan menampilkan kode error 503.

Untuk mengatasi masalah ini, coba satu atau beberapa langkah berikut:

HTTP 504: Error waktu tunggu gateway

HTTP 504
The request has been terminated because it has reached the maximum request timeout.

Jika layanan Anda memproses permintaan yang panjang, Anda dapat meningkatkan waktu tunggu permintaan. Jika layanan Anda tidak menampilkan respons dalam waktu yang ditentukan, permintaan akan berakhir dan layanan akan menampilkan error HTTP 504, seperti yang tercantum dalam kontrak runtime container ini.

Untuk memecahkan masalah ini, coba satu atau beberapa langkah berikut:

  • Logging instrumen dan trace untuk memahami di mana waktu aplikasi Anda dihabiskan sebelum melebihi waktu tunggu permintaan yang dikonfigurasi.

  • Terkadang Koneksi keluar direset karena pembaruan infrastruktur. Jika aplikasi Anda menggunakan kembali koneksi yang memakan waktu lama, sebaiknya konfigurasikan aplikasi Anda agar menghubungkan koneksi kembali guna menghindari penggunaan ulang koneksi yang tidak aktif.

    • Bergantung pada logika aplikasi atau penanganan error Anda, error 504 mungkin merupakan sinyal bahwa aplikasi Anda mencoba menggunakan kembali koneksi yang tidak aktif dan permintaan akan diblokir hingga waktu tunggu permintaan yang dikonfigurasi habis.
    • Anda dapat menggunakan pemeriksaan keaktifan untuk membantu menghentikan instance yang terus-menerus menampilkan error.
  • Error kehabisan memori yang terjadi dalam kode aplikasi, misalnya java.lang.OutOfMemoryError, tidak selalu menghentikan instance container. Jika penggunaan memori tidak melebihi batas memori container, instance tidak akan dihentikan. Bergantung pada cara aplikasi menangani error kehabisan memori level aplikasi, permintaan mungkin akan berhenti sampai melebihi waktu tunggu permintaan yang dikonfigurasi.

    • Jika Anda ingin instance container dihentikan dalam skenario di atas, konfigurasikan batas memori level aplikasi agar lebih besar dari batas memori container Anda.
    • Anda dapat menggunakan pemeriksaan keaktifan untuk membantu menghentikan instance yang terus-menerus menampilkan error

Reset koneksi oleh pembanding

Salah satu error berikut terjadi selama inferensi:

Connection reset by peer
asyncpg.exceptions.ConnectionDoesNotExistError: connection was closed in the middle of operation
grpc.StatusRuntimeException: UNAVAILABLE: io exception
psycopg.OperationalError: the connection is closed
ECONNRESET

Error ini terjadi saat aplikasi terhubung ke TCP yang terhubung dengan pembanding di seluruh jaringan dan pembanding tersebut secara tidak terduga menutup koneksi.

Untuk menyelesaikan masalah ini:

  • Jika Anda mencoba melakukan pekerjaan latar belakang dengan throttling CPU, coba gunakan setelan alokasi CPU"CPU selalu dialokasikan".

  • Pastikan Anda berada dalam waktu tunggu permintaan keluar. Jika aplikasi Anda mempertahankan koneksi dalam status tidak ada aktivitas di luar batas ini, maka gateway harus menerima koneksi tersebut.

  • Secara default, opsi soket TCP keepalive dinonaktifkan untuk Cloud Run. Tidak ada cara langsung untuk mengonfigurasi opsi keepalive di Cloud Run pada tingkat layanan, tetapi Anda dapat mengaktifkan opsi keepalive untuk setiap koneksi soket dengan memberikan opsi soket yang benar saat membuka koneksi soket TCP baru, tergantung pada library klien yang digunakan untuk koneksi ini di aplikasi Anda.

  • Terkadang koneksi keluar akan direset karena adanya pembaruan infrastruktur. Jika aplikasi Anda menggunakan kembali koneksi yang memakan waktu lama, sebaiknya konfigurasikan aplikasi Anda agar menghubungkan koneksi kembali guna menghindari penggunaan ulang koneksi yang tidak aktif.

Tanda tangan token identitas disamarkan oleh Google

Error berikut terjadi selama inferensi:

SIGNATURE_REMOVED_BY_GOOGLE

Hal ini dapat terjadi selama pengembangan dan pengujian dalam kondisi berikut:

  1. Pengguna login menggunakan Google Cloud CLI atau Cloud Shell.
  2. Pengguna membuat token ID menggunakan perintah gcloud.
  3. Pengguna mencoba menggunakan token ID untuk memanggil layanan Cloud Run non-publik.

Hal ini sesuai dengan desain. Google menghapus tanda tangan token karena masalah keamanan agar layanan Cloud Run non-publik tidak memutar ulang token ID yang dibuat dengan cara ini.

Untuk mengatasi masalah ini, panggil layanan pribadi Anda dengan token ID baru. Lihat pengujian autentikasi pada layanan Anda untuk mengetahui informasi selengkapnya.

Peringatan OpenBLAS dalam log

Jika menggunakan library berbasis OpenBLAS seperti NumPy dengan lingkungan eksekusi generasi pertama, Anda mungkin akan menjumpai peringatan berikut di log:

OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k

Ini hanyalah peringatan dan tidak akan memengaruhi layanan Anda. Peringatan ini muncul karena sandbox container yang digunakan oleh lingkungan eksekusi generasi pertama tidak menampilkan fitur hardware level rendah. Anda dapat memilih beralih ke lingkungan eksekusi generasi kedua jika tidak ingin melihat peringatan ini di log Anda.

Spark gagal saat mendapatkan alamat IP komputer yang akan diikat

Salah satu error berikut terjadi selama inferensi:

assertion failed: Expected hostname (not IP) but got <IPv6 ADDRESS>
assertion failed: Expected hostname or IPv6 IP enclosed in [] but got <IPv6 ADDRESS>

Untuk menyelesaikan masalah ini:

Untuk mengubah nilai variabel lingkungan dan menyelesaikan masalah, tetapkan ENV SPARK_LOCAL_IP="127.0.0.1" di Dockerfile Anda. Di Cloud Run, jika variabel SPARK_LOCAL_IP tidak ditetapkan, variabel tersebut akan ditetapkan secara default ke pasangan IPv6, bukan ke localhost. Perlu diketahui bahwa setelan RUN export SPARK_LOCAL_IP="127.0.0.1" tidak akan tersedia di runtime dan Spark akan berfungsi seolah-olah tidak ditetapkan.

Memetakan Domain Kustom

Status penyediaan sertifikat domain kustom macet

Salah satu error berikut terjadi saat Anda mencoba memetakan domain kustom:

The domain is available over HTTP.  Waiting for certificate provisioning. You must configure your DNS records for certificate issuance to begin and to accept HTTP traffic.
Waiting for certificate provisioning. You must configure your DNS records for certificate issuance to begin.

Untuk menyelesaikan masalah ini:

  • Tunggu setidaknya 24 jam. Penyediaan sertifikat SSL biasanya memerlukan waktu sekitar 15 menit, tetapi dapat juga memakan waktu hingga 24 jam.
  • Pastikan Anda telah memperbarui data DNS dengan benar di registrar domain menggunakan alat dig Toolbox Google Admin

    Data DNS di registrar domain Anda harus cocok dengan yang diminta untuk ditambahkan oleh Konsol Google Cloud.

  • Pastikan root domain diverifikasi dalam akun Anda menggunakan salah satu metode berikut:

  • Pastikan bahwa masa berlaku sertifikat untuk domain belum habis. Untuk menemukan batas masa berlaku, gunakan perintah berikut:

    echo | openssl s_client -servername 'ROOT_DOMAIN' -connect 'ROOT_DOMAIN:443' 2>/dev/null | openssl x509 -startdate -enddate -noout
    

Admin API

Fitur ini tidak didukung pada tahap peluncuran yang dinyatakan

Error berikut terjadi saat Anda memanggil Cloud Run Admin API:

The feature is not supported in the declared launch stage

Error ini terjadi ketika Anda memanggil Cloud Run Admin API secara langsung dan menggunakan fitur beta tanpa menentukan anotasi tahap peluncuran.

Untuk mengatasi masalah ini, anotasikan resource dengan nilai run.googleapis.com/launch-stage BETA dalam permintaan jika fitur beta digunakan.

Contoh berikut menambahkan anotasi tahap peluncuran ke permintaan layanan:

kind: Service
metadata:
  annotations:
    run.googleapis.com/launch-stage: BETA

Pemutusan koneksi klien tidak diterapkan ke Cloud Run

Saat Anda menggunakan HTTP/1.1 di Cloud Run, peristiwa pemutusan koneksi klien tidak akan disebarkan ke container Cloud Run.

Solusinya adalah menggunakan Websockets atau HTTP/2.0, yang menyebarkan pemutusan koneksi klien.

Memecahkan masalah network file system

Pelajari lebih lanjut cara Menggunakan network file system.

Tidak dapat mengakses file menggunakan NFS

Error Solusi yang disarankan
mount.nfs: Protocol not supported Beberapa image dasar, misalnya debian dan adoptopenjdk/openjdk11, tidak memiliki dependensi nfs-kernel-server.
mount.nfs: Connection timed out Jika waktu tunggu koneksi habis, pastikan Anda memberikan alamat IP yang benar untuk instance filestore.
mount.nfs: access denied by server while mounting IP_ADDRESS:/FILESHARE Jika akses ditolak oleh server, periksa dan pastikan nama file yang dibagikan sudah benar.

Tidak dapat mengakses file menggunakan Cloud Storage FUSE

Lihat panduan pemecahan masalah Cloud Storage FUSE.