簡體   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