Health check Cloud Run memastikan bahwa instance container Anda berjalan dengan benar dan dapat melayani traffic. Dengan health check Cloud Run, Anda dapat menyesuaikan kapan container siap menerima permintaan, dan kapan container harus dianggap tidak responsif sehingga memerlukan mulai ulang.
Kasus penggunaan
Anda dapat mengonfigurasi jenis pemeriksaan health check berikut:
Pemeriksaan startup menentukan apakah container telah dimulai dan siap menerima traffic.
- Saat Anda mengonfigurasi pemeriksaan startup, pemeriksaan keaktifan dan kesiapan dinonaktifkan hingga pemeriksaan startup menentukan bahwa container dimulai, untuk mencegah gangguan pada startup layanan.
- Pemeriksaan startup sangat berguna jika Anda menggunakan pemeriksaan keaktifan pada container yang dimulai dengan lambat, karena pemeriksaan startup mencegah container dimatikan sebelum waktunya sebelum container aktif dan berjalan.
Pemeriksaan keaktifan menentukan apakah akan memulai ulang container.
- Memulai ulang container dalam hal ini dapat meningkatkan ketersediaan layanan jika terjadi bug.
- Pemeriksaan keaktifan dimaksudkan untuk memulai ulang instance individual yang tidak dapat dipulihkan dengan cara lain. Pemeriksaan ini harus digunakan terutama untuk kegagalan instance yang tidak dapat dipulihkan, seperti mendeteksi kebuntuan saat layanan berjalan, tetapi tidak dapat membuat progres. Anda dapat mewajibkan pemeriksaan keaktifan untuk setiap container menggunakan kebijakan organisasi kustom.
- Jika layanan mengalami kegagalan pemeriksaan berulang kali, Cloud Run membatasi mulai ulang instance untuk mencegah loop error yang tidak terkontrol.
Pemeriksaan kesiapan (Pratinjau)
Pemeriksaan kesiapan menentukan kapan instance di layanan Cloud Run Anda harus melayani traffic. Pemeriksaan kesiapan dimulai setelah pemeriksaan startup penampung berhasil lulus. Jika instance gagal dalam pemeriksaan kesiapannya di luar nilai minimum kegagalan yang Anda konfigurasi, Cloud Run akan berhenti mengirim traffic baru ke instance tersebut. Cloud Run tidak menghentikan instance dan mengirimkan traffic kembali ke instance saat instance mulai lulus pemeriksaan kesiapannya lagi.
Mengonfigurasi pemeriksaan startup
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Anda dapat mengonfigurasi pemeriksaan HTTP, TCP, dan gRPC menggunakan Google Cloud konsol, YAML, atau Terraform:
Konsol
Di konsol Google Cloud , buka halaman Cloud Run:
Untuk layanan baru, luaskan Container(s), Volumes, Networking, Security untuk menampilkan opsi pemeriksaan kondisi. Untuk layanan yang sudah ada, klik layanan yang ingin Anda konfigurasi, lalu klik Edit dan deploy untuk menampilkan opsi pemeriksaan kondisi.
Di bagian Container(s), buka Health checks, lalu klik Add health check untuk membuka panel konfigurasi Add health check.
Dari menu Pilih jenis pemeriksaan kondisi, pilih Pemeriksaan saat startup.
Dari menu Pilih jenis probe, pilih jenis probe yang ingin Anda gunakan, misalnya, HTTP atau gRPC. Tindakan ini akan menampilkan formulir konfigurasi probe.
Konfigurasi pemeriksaan bervariasi menurut jenis pemeriksaan. Konfigurasi setelan pemeriksaan:
Jika Anda menggunakan pemeriksaan HTTP:
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya,
/startup,/health, atau/are_you_ready) harus cocok denganpathdalam konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.Gunakan kolom Path untuk menentukan jalur relatif ke endpoint, misalnya,
/.Centang kotak HTTP Headers untuk menentukan header kustom opsional. Tentukan nama header di kolom Nama dan nilai header di kolom Nilai. Klik Add HTTP header untuk menentukan lebih banyak header.
Jika Anda menggunakan pemeriksaan gRPC:
- Pastikan image container Anda menerapkan protokol health check gRPC.
Untuk Port, tentukan port container yang digunakan untuk layanan Anda.
Untuk Penundaan awal, tentukan jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
Untuk Period, tentukan periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.Untuk Batas kegagalan, tentukan jumlah percobaan ulang pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
Untuk Waktu tunggu, tentukan jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1.
Klik Tambahkan untuk menambahkan nilai minimum baru.
Klik Buat atau Deploy.
gcloud
Startup TCP
Jalankan perintah berikut:
gcloud run deploy SERVICE \
--image=IMAGE_URL \
--startup-probe tcpSocket.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan
habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1. - THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
Startup HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
Jalankan perintah berikut:
gcloud run deploy SERVICE \
--image=IMAGE_URL \
--startup-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - PATH: jalur relatif ke endpoint HTTP, misalnya,
/health. - Opsional. CONTAINER_PORT: ditetapkan ke port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1.
- Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
Startup gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
Jalankan perintah berikut:
gcloud run deploy SERVICE \
--image=IMAGE_URL \
--startup-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1.
- Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
YAML
Startup TCP
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
startupProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: tcpSocket: port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan
habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1. - THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Startup HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan Anda untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
startupProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - PATH: jalur relatif ke endpoint HTTP, misalnya,
/health. - Opsional. CONTAINER_PORT: ditetapkan ke port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional:
httpHeadersdapat digunakan untuk menyediakan beberapa header kustom atau berulang menggunakan kolom HEADER_NAME dan HEADER_VALUE seperti yang ditunjukkan. - Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1.
- Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Startup gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
startupProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk periodSeconds. Tentukan nilai dari 1 hingga 240. Nilai defaultnya adalah 1.
- Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Startup TCP
Konfigurasikan layanan Cloud Run dengan atribut startup_probe seperti yang ditunjukkan:
Startup HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan Anda untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
Konfigurasikan layanan Cloud Run dengan atribut startup_probe seperti yang ditunjukkan:
Startup gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
Konfigurasikan layanan Cloud Run dengan atribut startup_probe seperti yang ditunjukkan:
Pemeriksaan startup TCP default
Jika Anda tidak mengonfigurasi pemeriksaan startup TCP secara eksplisit untuk layanan Cloud Run baru, Cloud Run akan otomatis mengonfigurasi pemeriksaan startup TCP dengan nilai default berikut:
startupProbe:
timeoutSeconds: 240
periodSeconds: 240
failureThreshold: 1
Anda dapat mengubah nilai default ini dengan mengikuti petunjuk di bagian konfigurasi probe di halaman ini.
Persyaratan dan perilaku pemeriksaan startup
| Jenis Probe | Persyaratan | Perilaku |
|---|---|---|
| Startup TCP | Tidak ada | Secara default, Cloud Run membuat koneksi TCP untuk membuka Soket TCP pada port yang ditentukan. Jika Cloud Run tidak dapat terhubung, hal ini menunjukkan kegagalan. Jika pemeriksaan startup tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), yang tidak dapat melebihi 240 detik, container akan dimatikan. Lihat juga default TCP. |
| Startup HTTP | Buat endpoint health check HTTP Gunakan HTTP/1 |
Setelah konfigurasi pemeriksaan, Cloud Run akan membuat permintaan HTTP GET ke endpoint pemeriksaan kesehatan (misalnya, /health). Setiap respons 2XX atau 3XX berhasil, yang lainnya menunjukkan kegagalan.Jika pemeriksaan startup tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), yang tidak dapat melebihi 240 detik, container akan dimatikan.Jika pemeriksaan startup HTTP berhasil dalam waktu yang ditentukan, dan Anda telah mengonfigurasi pemeriksaan keaktifan HTTP, pemeriksaan keaktifan HTTP akan dimulai. |
| Startup gRPC | Menerapkan protokol Pemeriksaan Kesehatan gRPC di layanan Cloud Run Anda | Jika pemeriksaan startup tidak berhasil dalam waktu yang ditentukan (failureThreshold * periodSeconds), yang tidak dapat melebihi 240 detik, container akan dimatikan. |
Mengonfigurasi pemeriksaan keaktifan
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Anda dapat mengonfigurasi pemeriksaan HTTP dan gRPC menggunakan Google Cloud konsol, YAML, atau Terraform:
Konsol
Di konsol Google Cloud , buka halaman Cloud Run:
Untuk layanan baru, luaskan Container(s), Volumes, Networking, Security untuk menampilkan opsi pemeriksaan kondisi. Untuk layanan yang sudah ada, klik layanan yang ingin Anda konfigurasi, lalu klik Edit dan deploy untuk menampilkan opsi pemeriksaan kondisi.
Di bagian Container(s), buka Health checks, lalu klik Add health check untuk membuka panel konfigurasi Add health check.
Dari menu Select health check type, pilih Liveness check.
Dari menu Pilih jenis probe, pilih jenis probe yang ingin Anda gunakan, misalnya, HTTP atau gRPC. Tindakan ini akan menampilkan formulir konfigurasi probe.
Konfigurasi pemeriksaan bervariasi menurut jenis pemeriksaan. Konfigurasi setelan pemeriksaan:
Jika Anda menggunakan pemeriksaan HTTP:
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya,
/startup,/health, atau/are_you_ready) harus cocok denganpathdalam konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.Gunakan kolom Path untuk menentukan jalur relatif ke endpoint, misalnya,
/.Centang kotak HTTP Headers untuk menentukan header kustom opsional. Tentukan nama header di kolom Nama dan nilai header di kolom Nilai. Klik Add HTTP header untuk menentukan lebih banyak header.
Jika Anda menggunakan pemeriksaan gRPC:
- Pastikan image container Anda menerapkan protokol health check gRPC.
Untuk Port, tentukan port container yang digunakan untuk layanan Anda.
Untuk Penundaan awal, tentukan jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
Untuk Period, tentukan periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 3600 detik. Nilai default-nya adalah 10 detik.Untuk Batas kegagalan, tentukan jumlah percobaan ulang pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
Untuk Waktu tunggu, tentukan jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 3600. Nilai defaultnya adalah 1.
Klik Tambahkan untuk menambahkan nilai minimum baru.
Klik Buat atau Deploy.
gcloud
Keaktifan HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
Jalankan perintah berikut:
gcloud run deploy SERVICE \
--image=IMAGE_URL \
--liveness-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - PATH: jalur relatif ke endpoint HTTP, misalnya,
/health. - Opsional. CONTAINER_PORT: ditetapkan ke port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 3600.Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 3600 detik. Nilai default-nya adalah 10 detik.
Keaktifan gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
Jalankan perintah berikut:
gcloud run deploy SERVICE \
--image=IMAGE_URL \
--liveness-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,initialDelaySeconds=DELAY,failureThreshold=THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 3600.Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 3600 detik. Nilai default-nya adalah 10 detik.
YAML
Keaktifan HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
livenessProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - PATH: jalur relatif ke endpoint HTTP, misalnya,
/health. - Opsional. CONTAINER_PORT: ditetapkan ke port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional:
httpHeadersdapat digunakan untuk menyediakan beberapa header kustom atau berulang menggunakan kolom HEADER_NAME dan HEADER_VALUE seperti yang ditunjukkan. - Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 3600.Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 3600 detik. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Keaktifan gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
livenessProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda.
- Opsional. DELAY: jumlah detik untuk menunggu setelah container dimulai sebelum melakukan pemeriksaan pertama. Tentukan nilai dari 0 detik hingga 240 detik. Nilai default-nya adalah 0 detik.
- Opsional. THRESHOLD: frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 3600.Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 3600 detik. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Keaktifan HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
Konfigurasikan layanan Cloud Run dengan atribut liveness_probe seperti yang ditunjukkan:
Keaktifan gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
Konfigurasikan layanan Cloud Run dengan atribut liveness_probe seperti yang ditunjukkan:
Persyaratan dan perilaku pemeriksaan keaktifan
| Jenis Probe | Persyaratan | Perilaku |
|---|---|---|
| Keaktifan HTTP | Buat endpoint health check HTTP Gunakan HTTP/1 |
Pemeriksaan keaktifan hanya dimulai setelah pemeriksaan startup berhasil. Setelah konfigurasi pemeriksaan, dan semua pemeriksaan startup berhasil, Cloud Run akan membuat permintaan HTTP GET ke endpoint health check (misalnya, /health). Setiap respons 2XX atau 3XX berhasil, yang lainnya menunjukkan kegagalan.Jika pemeriksaan keaktifan tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), container akan dimatikan menggunakan sinyal SIGKILL. Semua permintaan yang tersisa yang masih ditayangkan oleh penampung dihentikan dengan kode status HTTP 503. Setelah container dimatikan, penskalaan otomatis Cloud Run akan memulai instance container baru. |
| Keaktifan gRPC | Menerapkan protokol Pemeriksaan Kesehatan gRPC di layanan Cloud Run Anda | Jika Anda mengonfigurasi pemeriksaan startup gRPC, pemeriksaan keaktifan hanya dimulai setelah pemeriksaan startup berhasil. Setelah pemeriksaan keaktifan dikonfigurasi, dan semua pemeriksaan startup berhasil, Cloud Run akan membuat permintaan health check ke layanan. Jika pemeriksaan keaktifan tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), container akan dimatikan menggunakan sinyal SIGKILL. Setelah container dimatikan, penskalaan otomatis Cloud Run akan memulai instance container baru. |
Mengonfigurasi pemeriksaan kesiapan
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Batasan berikut berlaku untuk pemeriksaan kesiapan:
Jika Anda mengaktifkan afinitas sesi, Cloud Run akan terus mengirim permintaan ke instance yang sama, meskipun pemeriksaan kesiapannya gagal.
Cloud Run mungkin mengirim permintaan ke instance yang baru dimulai sebelum pemeriksaan kesiapan selesai untuk pertama kalinya.
Jika sebelumnya Anda mengonfigurasi pemeriksaan kesiapan untuk layanan Cloud Run menggunakan Cloud Run Admin API v1 sebelum November 2025, pemeriksaan kesiapan tidak akan berlaku meskipun setelah Anda men-deploy konfigurasi baru untuk layanan tersebut. Hal ini terjadi karena layanan mempertahankan konfigurasi yang lebih lama. Layanan yang Anda buat setelah November 2025, atau layanan yang tidak pernah menggunakan pemeriksaan kesiapan, tidak terpengaruh. Untuk mengaktifkan pemeriksaan kesiapan yang didukung pada layanan yang terpengaruh, lakukan hal berikut:
Deploy revisi baru yang menghapus definisi pemeriksaan kesiapan yang lebih lama.
Deploy revisi baru lainnya yang menambahkan definisi pemeriksaan kesiapan yang relevan.
Langkah-langkah ini menghapus konfigurasi lama dan mengaktifkan fungsi pemeriksaan kesiapan.
Anda dapat mengonfigurasi pemeriksaan kesiapan menggunakan konsol Google Cloud , Google Cloud CLI atau YAML:
Konsol
Di konsol Google Cloud , buka halaman Cloud Run:
Untuk layanan baru, luaskan Container(s), Volumes, Networking, Security untuk menampilkan opsi pemeriksaan kondisi. Untuk layanan yang sudah ada, klik layanan yang ingin Anda konfigurasi, lalu klik Edit dan deploy untuk menampilkan opsi pemeriksaan kondisi.
Di bagian Container(s), buka Health checks, lalu klik Add health check untuk membuka panel konfigurasi Add health check.
Dari menu Select health check type, pilih Readiness check.
Dari menu Pilih jenis probe, pilih jenis probe yang ingin Anda gunakan, misalnya, HTTP atau gRPC. Tindakan ini akan menampilkan formulir konfigurasi probe.
Konfigurasi pemeriksaan bervariasi menurut jenis pemeriksaan. Konfigurasi setelan pemeriksaan:
Jika Anda menggunakan pemeriksaan HTTP:
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya,
/startup,/health, atau/are_you_ready) harus cocok denganpathdalam konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.Gunakan kolom Path untuk menentukan jalur relatif ke endpoint, misalnya,
/are_you_ready. Jalur default-nya adalah/.
Jika Anda menggunakan pemeriksaan gRPC:
- Pastikan image container Anda menerapkan protokol health check gRPC.
Untuk Port, tentukan port container untuk layanan Anda. Port default adalah port ingress utama.
Untuk Period, tentukan periode (dalam detik) untuk melakukan pemeriksaan. Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 hingga 300. Nilai default-nya adalah 10 detik.Untuk Batas keberhasilan, tentukan keberhasilan berturut-turut minimum agar pemeriksaan dianggap berhasil setelah gagal. Defaultnya adalah 2.
Untuk Batas kegagalan, tentukan jumlah percobaan ulang pemeriksaan sebelum melaporkan kegagalan, yang menyebabkan instance berhenti menerima traffic. Nilai defaultnya adalah 3.
Untuk Waktu tunggu, tentukan jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 300. Nilai defaultnya adalah 1.
Klik Tambahkan untuk menambahkan nilai minimum baru.
Klik Buat atau Deploy.
gcloud
Kesiapan HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan Anda untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
Jalankan perintah berikut:
gcloud beta run deploy SERVICE \
--image=IMAGE_URL \
--readiness-probe httpGet.path=PATH,httpGet.port=CONTAINER_PORT,successThreshold=SUCCESS_THRESHOLD,failureThreshold=FAILURE_THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. PATH: jalur relatif ke endpoint HTTP, misalnya,
/are_you_ready. Jalur default-nya adalah/. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda. Port default adalah port ingress utama.
- Opsional. SUCCESS_THRESHOLD: keberhasilan berurutan minimum agar pemeriksaan dianggap berhasil setelah kegagalan. Defaultnya adalah 2.
- Opsional. FAILURE_THRESHOLD: jumlah percobaan ulang pemeriksaan sebelum melaporkan kegagalan, yang menyebabkan instance berhenti menerima traffic. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 300. Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 hingga 300. Nilai default-nya adalah 10 detik.
Kesiapan gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
Jalankan perintah berikut:
gcloud beta run deploy SERVICE \
--image=IMAGE_URL \
--readiness-probe grpc.port=CONTAINER_PORT,grpc.service=GRPC_SERVICE,successThreshold=SUCCESS_THRESHOLD,failureThreshold=FAILURE_THRESHOLD,timeoutSeconds=TIMEOUT,periodSeconds=PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda. Port default adalah port masuk utama.
- Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. SUCCESS_THRESHOLD: keberhasilan berurutan minimum agar pemeriksaan dianggap berhasil setelah kegagalan. Defaultnya adalah 2.
- Opsional. FAILURE_THRESHOLD: jumlah percobaan ulang pemeriksaan sebelum melaporkan kegagalan, yang menyebabkan instance berhenti menerima traffic. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 300. Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 hingga 300. Nilai default-nya adalah 10 detik.
YAML
Kesiapan HTTP
Tambahkan endpoint HTTP/1 (default Cloud Run, bukan HTTP/2) dalam
kode layanan untuk merespons pemeriksaan. Nama endpoint (misalnya, /startup,
/health, atau /are_you_ready) harus cocok dengan path dalam
konfigurasi pemeriksaan. Endpoint health check HTTP dapat diakses secara eksternal
dan mengikuti prinsip yang sama seperti endpoint layanan HTTP lainnya yang diekspos secara eksternal.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
readinessProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA spec: template: metadata: spec: containers: - image: IMAGE_URL readinessProbe: httpGet: path: PATH port: CONTAINER_PORT successThreshold: SUCCESS_THRESHOLD failureThreshold: FAILURE_THRESHOLD timeoutSeconds: TIMEOUT periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. PATH: jalur relatif ke endpoint HTTP, misalnya,
/are_you_ready. Jalur default-nya adalah/. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda. Port default adalah port ingress utama.
- Opsional. SUCCESS_THRESHOLD: keberhasilan berurutan minimum agar pemeriksaan dianggap berhasil setelah kegagalan. Defaultnya adalah 2.
- Opsional. FAILURE_THRESHOLD: jumlah percobaan ulang pemeriksaan sebelum melaporkan kegagalan, yang menyebabkan instance berhenti menerima traffic. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 300. Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 hingga 300. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Kesiapan gRPC
Pastikan image container Anda menerapkan protokol health check gRPC.
-
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download
konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Konfigurasikan atribut
readinessProbeseperti yang ditunjukkan berikut:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA spec: template: metadata: spec: containers: - image: IMAGE_URL readinessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE successThreshold: SUCCESS_THRESHOLD failureThreshold: FAILURE_THRESHOLD timeoutSeconds: TIMEOUT periodSeconds: PERIOD
Ganti kode berikut:
- SERVICE: nama layanan Cloud Run Anda.
- IMAGE_URL: referensi ke image container, misalnya,
us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - Opsional. CONTAINER_PORT: port container yang digunakan untuk layanan Anda. Port default adalah port masuk utama.
- Opsional. GRPC_SERVICE: Jika disetel, nilai ini digunakan di
kolom layanan
grpc.health.v1.HealthCheckRequestsaat rpcgrpc.health.v1.Health.Checkdipanggil. - Opsional. SUCCESS_THRESHOLD: keberhasilan berurutan minimum agar pemeriksaan dianggap berhasil setelah kegagalan. Defaultnya adalah 2.
- Opsional. FAILURE_THRESHOLD: jumlah percobaan ulang pemeriksaan sebelum melaporkan kegagalan, yang menyebabkan instance berhenti menerima traffic. Nilai defaultnya adalah 3.
- Opsional. TIMEOUT: jumlah detik untuk
menunggu hingga waktu pemeriksaan habis. Nilai ini tidak boleh melebihi nilai yang ditentukan untuk
periodSeconds. Tentukan nilai dari 1 hingga 300. Nilai defaultnya adalah 1. - Opsional. PERIOD: periode (dalam detik) untuk melakukan pemeriksaan.
Misalnya,
2melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 hingga 300. Nilai default-nya adalah 10 detik.
-
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Alokasi CPU
- CPU selalu dialokasikan saat pemeriksaan berjalan.
- Semua pemeriksaan ditagih untuk konsumsi penggunaan CPU dan memori, tetapi tidak ada biaya berbasis permintaan.
Langkah berikutnya
- Pelajari cara mengonfigurasi protokol health check gRPC.