0

使用 HaProxy 作为入口控制器时在 Kubernetes 集群上。当旧的 pod 死亡时,HaProxy 将如何添加新的 pod。

它是否可以确保 pod 已准备好接收流量。

现在我正在使用就绪探针和活跃度探针。我知道 Kubernetes 中使用新 pod 的顺序是首先 Liveness probe --> Readiness probe --> 6/6 --> pod is ready。

那么它会使用与 HaProxy Ingress Controller 相同的 Kubernetes 机制吗?

4

1 回答 1

1

简短的回答是:是的,是的!

文档

最苛刻的部分是同步 pod 的状态,因为环境是高度动态的,可以随时创建或销毁 pod。控制器通过 HAProxy 数据平面 API 将这些更改直接提供给 HAProxy,该 API 根据需要重新加载 HAProxy。

HAProxy ingress 不负责 pod 是否健康,它负责接收外部流量并转发正确的 kubernetes 服务。

Kubelet使用 liveness 和 probes 来知道何时重启容器,这意味着你必须在 pod 定义中定义liveness、readiness 。在 pod生命周期文档
中查看有关容器探针的更多信息。

kubelet 使用就绪探测来了解容器何时准备好开始接受流量。当 Pod 的所有 Container 都准备好时,就认为 Pod 准备好了。此信号的一种用途是控制哪些 Pod 用作服务的后端。当 Pod 未准备好时,它会从服务负载均衡器中移除。

于 2020-01-30T10:29:47.920 回答