10

我需要在 DigitalOcean 上对一组 Kubernetes API 服务器(1.7 版)进行负载均衡,但问题是 Kubernetes API 服务器似乎只支持 HTTPS,而 DigitalOcean 负载均衡器只能进行HTTP 或 TCP 健康检查

有没有办法通过 HTTP 或 TCP 对 Kubernetes API 服务器进行健康检查?

4

2 回答 2

5

做一个 kubectl 代理,然后使用邮递员或任何工具将获取请求发送到 http://127.0.0.1:8001/healthz/poststartthook/apiservice-status-available-controller

你也可以使用其他

  • /healthz,
  • /healthz/autoregister-completion,
  • /healthz/ping,
  • /healthz/poststarthook/apiservice-registration-controller,
  • /healthz/poststarthook/apiservice-status-available-controller,
  • /healthz/poststarthook/bootstrap-controller,
  • /healthz/poststarthook/ca-registration,
  • /healthz/poststarthook/extensions/third-party-resources,
  • /healthz/poststarthook/generic-apiserver-start-informers,
  • /healthz/poststarthook/kube-apiserver-autoregistration,
  • /healthz/poststarthook/start-apiextensions-controllers,
  • /healthz/poststarthook/start-apiextensions-informers,
  • /healthz/poststarthook/start-kube-aggregator-informers,
  • /healthz/poststarthook/start-kube-apiserver-informers,
于 2018-03-06T16:34:23.227 回答
2

您可以在端口 8080 上访问 API 服务器节点,/healthz并期望返回 200 并ok显示 API 服务器是否已启动且运行状况良好。

有关更多详细信息,请参阅到达此端点的一些测试代码:https ://github.com/kubernetes/kubernetes/blob/fe3e7482764ace362b465405c45780d03a8c6706/staging/src/k8s.io/apiserver/pkg/server/healthz/healthz_test.go#L28

于 2017-11-02T20:00:50.640 回答