gpt4 book ai didi

kubernetes - 双 Kubernetes 就绪探测?

转载 作者:行者123 更新时间:2023-12-02 11:43:25 25 4
gpt4 key购买 nike

我有一个场景,需要“准备”Kubernetes 以起飞/终止/关闭容器,但允许它服务一些请求直到发生这种情况。

例如,假设存在三种方法:StartAction、ProcessAction、EndAction。我想阻止客户端在容器即将关闭时调用 StartAction。但是,他们应该能够在同一个容器上使用 ProcessAction 和 EndAction(在所有操作完成后,容器将关闭)。

我在想这是某种“双重”就绪探测,我基本上想指示“未就绪”状态,但继续为已启动的操作提供请求。

我知道有一个 PreStop 钩子(Hook),但我不确定这是否满足需求,因为根据文档,我怀疑在 PreStop 期间 pod 已经从负载均衡器中取出:

  1. (simultaneous with 3) Pod is removed from endpoints list for service, and are no longer considered part of the set of running Pods for replication controllers. Pods that shutdown slowly cannot continue to serve traffic as load balancers (like the service proxy) remove them from their rotations.


( https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods)。

假设我必须依赖粘性并且必须继续在启动这些操作的容器上提供操作请求,是否有一些推荐的做法?

最佳答案

我认为您可以在应用程序中实现 2 个端点:

  • 定制准备探测
  • 关机准备端点列表项

  • 因此,要进行正常关闭,我认为您应该首先调用“关闭准备端点”,这将导致“自定义就绪探测”将返回错误,因此 Kubernetes 将从服务负载均衡器中取出该 POD(不会有新客户端出现)但现有的 TCP 连接将保留(现有客户端将运行)。在您看到一些自定义指标(您的服务应该提供)之后,客户端的所有操作都已完成,您应该使用标准 Kubernetes 操作关闭容器。所有这些操作都应该使用 Kubernetes 和您的应用程序 API 以某种方式自动化。

    关于kubernetes - 双 Kubernetes 就绪探测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56472395/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com