2016-05-24 55 views
3

我正在运行一个服务,写在Kubernetes的一个容器中。该服务不公开HTTP接口;它正在处理来自队列的工作。我应该如何检查Kubernetes服务的健康状况?

我能:

  • 使用一个可执行的活跃度检查,以查看是否正在运行的进程
  • 暴露一个HTTP健康检查端点
  • 使用expvars揭露基本健康数据。

在go/Kubernetes中有这样做的常见/习惯性方法吗?

回答

1

我不会理解便捷的方法来处理运行到该窗格中的过程以关注该问题。

我会避免在容器内部创建另一个进程来公开数据,或修改当前进程来公开健康端点,所以我会选择活动检查exec方式。它没有进入你的应用程序,并且希望它只会周期性地消耗一些CPU周期。

无论如何,如果您决定从pod公开健康信息,我会使用multi-container pod,将健康暴露应用程序作为边车并将工作过程放在不同的容器中。