繁体   English   中英

Kubernetes中的程序化负载平衡

[英]Programmatic load balancing in kubernetes

我有10个运行相同Java应用程序的副本。 我想跳过向正在运行完整垃圾回收周期/停止世界周期的副本的发送请求(使用jvm工具界面)。

例如:5个应用程序正在运行完整的GC周期,5个应用程序已完成GC周期。 因此,我想将流量路由到已完成GC周期的Pod。

pseduo代码:1)负载平衡器接收后端服务的传入REST请求。 2)确定不在完整GC周期中的副本。 3)使用轮询将请求路由到步骤2中找到的副本中的1个。

如果我们可以在kubernetes中做到这一点,有人可以帮我吗。

我为您提供了一个概念,但是您需要在程序中添加一些部分。 看一看readinessProbe

readinessProbe :指示容器是否准备好服务请求。 如果就绪探针失败,则端点控制器将从与Pod匹配的所有服务的端点中删除Pod的IP地址。 初始延迟之前的默认就绪状态为Failure 如果容器未提供就绪探测器,则默认状态为Success

这是配置的示例,您也可以使用TCP套接字

readinessProbe:
  httpGet:
    path: /healthz
    port: 8181
  initialDelaySeconds: 5
  periodSeconds: 5

当GC启动时,您将停止通过路径/healthz响应,并且kubelet将吊舱标记为不正常,然后等待其再次变得健康,在您的情况下,它将是GC完成时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM