Anda dapat mengonfigurasi pemeriksaan startup HTTP, TCP, dan gRPC, beserta pemeriksaan keaktifan HTTP dan gRPC untuk kumpulan worker Cloud Run baru dan yang sudah ada. Konfigurasi ini bervariasi, bergantung pada jenis pemeriksaan.
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 kumpulan 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 kumpulan pekerja berjalan, tetapi tidak dapat membuat progres. Anda dapat mewajibkan pemeriksaan keaktifan untuk setiap penampung 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 kumpulan 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 kumpulan pekerja mengalami kegagalan pemeriksaan keaktifan atau startup berulang, Cloud Run mencegah loop error yang tidak terkontrol dengan membatasi mulai ulang instance untuk mencegahnya.
Alokasi CPU
- CPU selalu dialokasikan saat pemeriksaan berjalan.
- Semua pemeriksaan ditagih untuk konsumsi penggunaan CPU dan memori.
Persyaratan dan perilaku pemeriksaan
Jenis Probe | Persyaratan | Perilaku |
---|---|---|
Startup TCP | Tidak ada | Jika ditentukan, Cloud Run akan 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 maksimal 240 detik, dihitung sebagai failureThreshold * periodSeconds , yang Anda tetapkan saat mengonfigurasi pemeriksaan startup untuk kumpulan pekerja. |
Startup HTTP | Buat endpoint health check HTTP Gunakan HTTP/1 |
Setelah konfigurasi pemeriksaan, Cloud Run akan membuat permintaan HTTP GET ke endpoint pemeriksaan kesehatan kumpulan 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 | 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 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 . Semua permintaan yang tersisa yang masih ditayangkan oleh penampung dihentikan dengan kode status HTTP 503 . Setelah Cloud Run mematikan container, penskalaan otomatis Cloud Run akan memulai instance container baru. |
Startup gRPC | Menerapkan protokol Pemeriksaan Kondisi gRPC di kumpulan 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 Pemeriksaan Kondisi gRPC di kumpulan 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 kumpulan 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 Cloud Run REST API:
REST API
Penting: Jika mengonfigurasi kumpulan pekerja Cloud Run untuk pemeriksaan HTTP, Anda juga harus menambahkan endpoint pemeriksaan kesehatan HTTP dalam kode kumpulan pekerja untuk merespons pemeriksaan tersebut. Jika mengonfigurasi pemeriksaan gRPC, Anda juga harus menerapkan protokol Health Check gRPC di kumpulan pekerja Cloud Run.
Membuat endpoint health check HTTP
Jika mengonfigurasi kumpulan pekerja Cloud Run untuk pemeriksaan startup HTTP atau
pemeriksaan keaktifan, Anda perlu menambahkan endpoint dalam kode kumpulan 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.