2016-05-24 80 views
3

我正在運行一個服務,寫在Kubernetes的一個容器中。該服務不公開HTTP接口;它正在處理來自隊列的工作。我應該如何檢查Kubernetes服務的健康狀況?

我能:

  • 使用一個可執行的活躍度檢查,以查看是否正在運行的進程
  • 暴露一個HTTP健康檢查端點
  • 使用expvars揭露基本健康數據。

在go/Kubernetes中有這樣做的常見/習慣性方法嗎?

回答

1

我不會理解便捷的方法來處理運行到該窗格中的過程以關注該問題。

我會避免在容器內部創建另一個進程來公開數據,或修改當前進程來公開健康端點,所以我會選擇活動檢查exec方式。它沒有進入你的應用程序,並且希望它只會週期性地消耗一些CPU週期。

無論如何,如果您決定從pod公開健康信息,我會使用multi-container pod,將健康暴露應用程序作爲邊車並將工作過程放在不同的容器中。