Pembahasan readiness probe dan liveness probe pada OCP 4.x

Danang Priabada
3 min readJul 19, 2023

--

Pada satu kasus kita akan menemukan sebuah event yang mana memperlihatkan status atau kondisi kesiapan setiap pods. Di sini kita akan membahas apa itu readiness probe dan apa itu liveness probe.

Readiness Probe

Readiness probe adalah mekanisme yang digunakan untuk menentukan apakah suatu container dalam sebuah pod sudah siap menerima network traffic atau belum. Readiness probe menjadi indikator bagi OpenShift untuk mengetahui apakah sebuah apps atau services yang ada di dalam container telah selesai melakukan inisialisasi dan siap menerima permintaan dari network traffic.

Penggunaan readiness probe penting untuk OpenShift karena di gunakan untuk memastikan bahwa pod hanya menerima network traffic ketika apps atau services di dalamnya benar-benar siap untuk melayani permintaan. Hal ini membantu mencegah pengalihan traffic ke pod yang belum selesai melakukan inisialisasi atau sedang mengalami masalah.

Liveness Probe

Liveness probe adalah mekanisme yang digunakan untuk memeriksa kesehatan (health) suatu container dalam sebuah pod. Liveness probe memungkinkan OpenShift untuk secara periodik memeriksa apakah apps atau services dalam container masih berjalan dengan baik. Tujuan utama dari liveness probe adalah untuk mendeteksi kegagalan atau masalah dalam container dan melakukan tindakan pemulihan yang sesuai.

Dengan melakukan pemeriksaan secara periodik terhadap kesehatan container, OpenShift dapat secara otomatis mendeteksi dan merespons masalah yang terjadi, sehingga meminimalkan waktu henti (downtime) apps.

Liveness Probe terkadang juga di cetak kedalam events, ketika terjadi pemindahan pods dari satu node ke node lainnya, yang mana mengindikasikan pods sedang dalam keadaan tidak sehat.

Perbedaan antara kedua nya

Liveness probe dan readiness probe adalah dua jenis probe yang digunakan dalam OpenShift untuk memeriksa kesehatan dan kesiapan suatu container dalam sebuah pod, namun mereka memiliki perbedaan dalam tujuan dan cara penggunaannya.

Tujuan Utama:

  • Liveness probe: Liveness probe digunakan untuk memeriksa apakah suatu container masih hidup (alive) atau tidak. Tujuan utamanya adalah mendeteksi kegagalan atau masalah dalam container dan melakukan tindakan pemulihan yang sesuai.
  • Readiness probe: Readiness probe digunakan untuk memeriksa apakah suatu container sudah siap menerima lalu lintas jaringan atau tidak. Tujuan utamanya adalah memastikan bahwa apps atau services dalam container telah selesai melakukan inisialisasi dan siap menerima permintaan dari lalu lintas jaringan.

Waktu Pengecekan:

  • Liveness probe: Liveness probe dilakukan secara periodik dengan interval waktu tertentu. OpenShift akan secara teratur memeriksa kesehatan container untuk memastikan bahwa container tetap hidup selama masa kerja (“container runtime” atau “container lifecycle”).
  • Readiness probe: Readiness probe biasanya dilakukan saat pod pertama kali dibuat atau saat terjadi perubahan yang mempengaruhi kesiapan container. Setelah itu, readiness probe tidak dilakukan secara periodik kecuali ada perubahan pada pod yang mempengaruhi kesiapan container.

Respons dan Aksi:

  • Liveness probe: Jika liveness probe gagal, container dianggap tidak hidup (not alive) dan OpenShift akan melakukan tindakan pemulihan, seperti menghentikan dan mengganti container yang tidak hidup dengan yang baru. (Ini berkemungkinan untuk di pindahkan ke node lain).
  • Readiness probe: Jika readiness probe gagal, pod akan dianggap tidak siap dan tidak akan menerima lalu lintas baru sampai readiness probe berhasil. OpenShift akan mencoba untuk mengatur ulang pod tersebut atau tidak mengalihkan lalu lintas baru ke pod tersebut sampai readiness probe berhasil.

Konfigurasi:

  • Liveness probe: Konfigurasi liveness probe dilakukan menggunakan properti livenessProbe pada deskripsi pod. Properti ini mendefinisikan jenis probe yang akan dilakukan (misalnya, HTTP GET request, TCP socket connection), endpoint kesehatan (health endpoint), timeout, dan parameter lainnya.
  • Readiness probe: Konfigurasi readiness probe dilakukan menggunakan properti readinessProbe pada deskripsi pod atau deployment. Properti ini mendefinisikan jenis probe yang akan dilakukan (misalnya, HTTP GET request, TCP socket connection), endpoint kesiapan (readiness endpoint), timeout, dan parameter lainnya.

--

--

Danang Priabada
Danang Priabada

Written by Danang Priabada

Red Hat and IBM Product Specialist | JPN : プリアバダ ダナン | CHN : 逹男 | linktr.ee/danangpriabada

No responses yet