我正在运行一个写在Kubernetes的pod中的服务。该服务不公开HTTP接口;它正在从队列中处理工作。
我可以:
在go / Kubernetes中是否有一种常见的/惯用的方式?
答案 0 :(得分:1)
我不会进一步推理有关检测流入pod的过程的便利性,以便专注于这个问题。
我避免在容器内部创建另一个进程来公开数据,或者修改当前进程只是为了公开健康端点,所以我选择了liveness check exec方式。它没有进入你的应用程序,希望它只会定期消耗一些CPU循环。
无论如何,如果你决定从pod中公开健康信息,我会使用multi-container pod,将健康暴露应用程序作为边车,将工作流程放在另一个容器中。
答案 1 :(得分:1)
一般来说,我推荐使用HTTP机制,因为它很容易在Go中添加。如果您已经有一个exec
能够返回有用状态的命令,那就去吧。或者您可以考虑https://github.com/kubernetes/contrib/tree/master/exec-healthz