Kasus penggunaan
Anda dapat mengonfigurasi dua jenis pemeriksaan health check:
Pemeriksaan keaktifan menentukan apakah akan memulai ulang container.
- Memulai ulang container dalam hal ini dapat meningkatkan ketersediaan pool pekerja 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, misalnya, untuk mengetahui deadlock saat pool pekerja berjalan, tetapi tidak dapat membuat progres. Anda dapat mewajibkan pemeriksaan keaktifan untuk setiap container menggunakan kebijakan organisasi kustom.
Pemeriksaan startup menentukan apakah container telah dimulai.
- Saat Anda mengonfigurasi pemeriksaan startup, pemeriksaan keaktifan dinonaktifkan hingga pemeriksaan startup menentukan bahwa container dimulai, untuk mencegah gangguan pada startup pool pekerja.
- Pemeriksaan startup sangat berguna jika Anda menggunakan pemeriksaan keaktifan pada container yang dimulai dengan lambat, karena pemeriksaan ini mencegahnya dimatikan sebelum container aktif dan berjalan.
Perhatikan bahwa saat pool pekerja mengalami kegagalan pemeriksaan startup atau keaktifan berulang, Cloud Run mencegah loop error yang tidak terkontrol dengan membatasi proses memulai ulang instance.
Alokasi CPU
- CPU selalu dialokasikan saat pemeriksaan berjalan.
- Semua pemeriksaan ditagih untuk konsumsi penggunaan CPU dan memori.
Persyaratan dan perilaku pemeriksaan
| Jenis Pemeriksaan | Persyaratan | Perilaku |
|---|---|---|
| Startup TCP | Tidak ada | Jika ditentukan, 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, Cloud Run akan mematikan container. Waktunya maksimum 240 detik, yang dihitung sebagai failureThreshold * periodSeconds, yang Anda tetapkan saat mengonfigurasi pemeriksaan startup untuk pool pekerja. |
| Startup HTTP | Membuat endpoint health check HTTP Menggunakan HTTP/1 |
Setelah konfigurasi pemeriksaan, Cloud Run membuat permintaan HTTP GET ke endpoint health check pool pekerja (misalnya, /ready). Setiap respons antara 200 dan 400 berhasil, yang lainnya menunjukkan kegagalan.Jika pemeriksaan startup tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), yang tidak dapat melebihi 240 detik, Cloud Run akan mematikan container.Jika pemeriksaan startup HTTP berhasil dalam waktu yang ditentukan, dan Anda telah mengonfigurasi pemeriksaan keaktifan HTTP, Cloud Run akan memulai pemeriksaan keaktifan HTTP. |
| Keaktifan HTTP | Membuat endpoint health check HTTP Menggunakan HTTP/1 |
Pemeriksaan keaktifan hanya dimulai setelah pemeriksaan startup berhasil. Setelah konfigurasi pemeriksaan, dan semua pemeriksaan startup berhasil, Cloud Run membuat permintaan HTTP GET ke endpoint health check (misalnya, /health). Setiap respons antara 200 dan 400 berhasil, yang lainnya menunjukkan kegagalan.Jika pemeriksaan keaktifan tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), Cloud Run akan mematikan container menggunakan sinyal SIGKILL. Setiap permintaan yang tersisa yang masih ditayangkan oleh container akan dihentikan dengan kode status HTTP 503. Setelah Cloud Run mematikan container, penskalaan otomatis Cloud Run akan memulai instance container baru. |
| Startup gRPC | Menerapkan protokol Health Check gRPC di pool pekerja Cloud Run | Jika pemeriksaan startup tidak berhasil dalam waktu yang ditentukan (failureThreshold * periodSeconds), yang tidak dapat melebihi 240 detik, Cloud Run akan mematikan container. |
| Keaktifan gRPC | Menerapkan protokol Health Check gRPC di pool pekerja Cloud Run | 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 pool pekerja. Jika pemeriksaan keaktifan tidak berhasil dalam waktu yang ditentukan ( failureThreshold * periodSeconds), Cloud Run akan mematikan container menggunakan sinyal SIGKILL. Setelah Cloud Run mematikan container, penskalaan otomatis Cloud Run akan memulai instance container baru. |
Mengonfigurasi pemeriksaan
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 atau REST API Cloud Run:
Konsol
Di Google Cloud konsol, buka Cloud Run:
Pilih Pool pekerja dari menu.
- Jika Anda mengonfigurasi pool pekerja baru, klik Deploy container.
- Jika Anda mengonfigurasi pool pekerja yang ada, pilih pool pekerja, lalu klik Edit and deploy new revision.
Jika Anda mengonfigurasi pool pekerja baru, isi halaman pool pekerja awal, lalu klik Containers, Networking, Security untuk memperluas halaman konfigurasi pool pekerja.
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 jenis health check yang ingin Anda tambahkan.
Dari menu Select probe type, pilih jenis pemeriksaan yang ingin Anda gunakan, misalnya, HTTP atau gRPC. Tindakan ini akan menampilkan formulir konfigurasi pemeriksaan.
Konfigurasi setelan pemeriksaan, yang bervariasi menurut jenis pemeriksaan:
Jika Anda menggunakan pemeriksaan HTTP:
Gunakan kolom Path untuk menentukan jalur relatif ke endpoint, misalnya,
/.Centang kotak HTTP Headers untuk menentukan header kustom opsional. Tentukan nama header di kolom Name dan nilai header di kolom Value. Klik Add HTTP header untuk menentukan lebih banyak header.
Jika Anda menggunakan pemeriksaan gRPC, pastikan image container Anda menerapkan protokol health check gRPC. Untuk mengetahui informasi selengkapnya, lihat Protokol Health Check gRPC.
Untuk jenis pemeriksaan HTTP dan gRPC, tentukan hal berikut:
Initial delay, 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.
Periode, tentukan periode (dalam detik) untuk melakukan pemeriksaan. Misalnya, tentukan
2untuk melakukan pemeriksaan setiap 2 detik. Tentukan nilai dari 1 detik hingga 240 detik. Nilai default-nya adalah 10 detik.Failure threshold, tentukan frekuensi untuk mencoba kembali pemeriksaan sebelum mematikan container. Nilai defaultnya adalah 3.
Timeout, tentukan jumlah detik untuk menunggu hingga waktu pemeriksaan habis. Tentukan nilai dari 1 hingga yang lebih kecil dari 240 dan
periodSeconds. Nilai defaultnya adalah 1.
Klik Add untuk menambahkan nilai minimum baru.
Klik Create atau Deploy.
REST API
Penting: Jika Anda mengonfigurasi pool pekerja Cloud Run untuk pemeriksaan HTTP, Anda juga harus menambahkan endpoint health check HTTP dalam kode pool pekerja untuk merespons pemeriksaan tersebut. Jika Anda mengonfigurasi pemeriksaan gRPC, Anda harus juga menerapkan protokol Health Check gRPC di pool pekerja Cloud Run.
Membuat endpoint health check HTTP
Jika mengonfigurasi pool pekerja Cloud Run untuk pemeriksaan startup HTTP atau pemeriksaan keaktifan, Anda perlu menambahkan endpoint dalam kode pool pekerja untuk merespons pemeriksaan tersebut. Endpoint dapat memiliki nama apa pun yang Anda inginkan, misalnya, /startup atau /ready, tetapi nama tersebut harus cocok dengan nilai yang Anda tentukan untuk path dalam konfigurasi pemeriksaan. Misalnya, jika Anda menentukan /ready untuk pemeriksaan startup HTTP, tentukan path dalam konfigurasi pemeriksaan Anda seperti yang ditunjukkan di bawah ini:
startupProbe: httpGet: path: /ready
Endpoint health check HTTP dapat diakses secara eksternal dan mengikuti prinsip yang sama seperti endpoint HTTP lainnya yang diekspos secara eksternal.