Mulai 15 September 2019, jika Anda menggunakan health check lama, aplikasi Anda akan terus menjalankan dan menerima health check, tetapi Anda tidak akan dapat men-deploy versi baru aplikasi.
Halaman ini menjelaskan cara mengupgrade dari health check lama ke health check terpisah.
Memverifikasi jenis health check Anda
Untuk memverifikasi jenis health check yang digunakan aplikasi Anda, jalankan perintah berikut:
gcloud app describe
Jika aplikasi Anda menggunakan health check terpisah, deskripsi harus menyertakan informasi berikut:
featureSettings:
splitHealthChecks: true
Memahami perbedaan utama
Sebelum mengupgrade ke health check terpisah, pertimbangkan perbedaan penting berikut antara health check lama dan terpisah:
Permintaan HTTP untuk health check terpisah tidak diteruskan secara default. Sebaliknya, health check lama diteruskan ke jalur
/_ah/health
di aplikasi Anda secara default.Health check terpisah yang diteruskan harus menampilkan
200 OK
jika responsif dan siap. Health check lama menganggap kode HTTP berikut sebagai responsif:200
,301
,302
,303
,307
,401
,402
,403
,404
,405
.
Jika Anda tidak menentukanjalur pemeriksaan keaktifan atau jalur pemeriksaan kesiapan, secara default health check terpisah hanya mengonfirmasi bahwa instance VM dan container Docker sedang berjalan. Selama kondisi ini terus berlanjut, VM akan terus menerima traffic dan tetap aktif, terlepas dari status internal aplikasinya.
Sebaliknya, saat health check lama diaktifkan, jika jalur /_ah/health
aplikasi Anda mulai menampilkan kode error HTTP yang tidak responsif (misalnya 5XX
), health check lama akan mulai gagal dan VM akan berhenti menerima kemacetan dan dimulai ulang.
Jika aplikasi Anda bergantung pada perilaku health check lama default, tetapkan jalur pemeriksaan keaktifan dan jalur kesiapan yang sesuai.
Mengonversi opsi health check lama
Setiap opsi health check lama dapat ditulis ulang menggunakan health check terpisah sebagai berikut:
Opsi | Mempertahankan perilaku yang sama dalam health check terpisah |
---|---|
enable_health_check |
Jika True atau tidak disetel, konfigurasikan liveness_check.path dan readiness_check.path ke jalur di aplikasi yang menampilkan 200 OK saat aplikasi responsif. |
check_interval_sec |
Konfigurasikan liveness_check.check_interval_sec dan readiness_check.check_interval_sec ke nilai yang sama. |
timeout_sec |
Konfigurasikan liveness_check.timeout_sec dan readiness_check.timeout_sec ke nilai yang sama. |
unhealthy_threshold |
Konfigurasikan readiness_check.failure_threshold ke nilai yang sama. |
healthy_threshold |
Konfigurasikan liveness_check.success_threshold dan readiness_check.success_threshold ke nilai yang sama. |
restart_threshold |
Konfigurasikan liveness_check.failure_threshold ke nilai yang sama. Perhatikan bahwa nilai opsi check_interval_sec dikalikan dengan opsi failure_threshold adalah waktu yang diperlukan untuk menghapus VM yang tidak responsif. |
Mengaktifkan health check terpisah
Untuk bermigrasi dari health check lama ke health check terpisah dan menghindari kode status 5xx
yang ditingkatkan, selesaikan langkah-langkah berikut:
Memahami perbedaan penting antara health check lama dan terpisah.
Konversikan opsi health check lama untuk setiap versi dalam aplikasi Anda.
Atau, Anda dapat menyesuaikan bagian
liveness_check
ataureadiness_check
dalam fileapp.yaml
untuk setiap versi. Misalnya, lihat Pemeriksaan kehidupan dan Pemeriksaan kesiapan.Jalankan perintah berikut:
gcloud app update --split-health-checks --project [YOUR_PROJECT_ID]
Jika menggunakan setelan yang disesuaikan untuk health check lama, Anda harus menghapus bagian
health_check
dari fileapp.yaml
.Deploy versi utama baru aplikasi Anda untuk mulai menggunakan health check keaktifan dan kesiapan.