【问题标题】:HaProxy Ingress Controller - what is the process of add a pod?HaProxy Ingress Controller - 添加 pod 的过程是什么?
【发布时间】:2020-05-15 08:16:29
【问题描述】:

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

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

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

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

【问题讨论】:

标签: kubernetes haproxy readinessprobe haproxy-ingress


【解决方案1】:

简短的回答是:是的!

来自documentation

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-03-09
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多