gpt4 book ai didi

kubernetes - Kubernetes:我应该在准备就绪探针的端点中检查哪些系统方面的内容

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

我有一个简单的SpringBoot应用程序(实际上是一个基于REST的微服务),正在Kubernetes中进行部署。

它具有一个下游依赖性(另一种基于REST的Web服务)。
我知道对于REST端点,如果我的下游依赖项不可用/不可访问,则不应该返回馈送 liveness 探针的REST端点(因为重启我的微服务Pod的Kubernetes无法修复依赖关系!)。

但是在REST端点中,我应该为准备就绪探针供电,我应该检查下游依赖性吗?我宁愿做一些基本的事情,但是如果我需要做更多的检查,那我会的。

@RequestMapping("/health")
public String getHealth() {
return "OK";
}

最佳答案

假设您的spring-boot应用程序的活跃度(从用户的 Angular 来看)不需要依赖服务,那么检查“就绪探针”状态的想法是正确的。

由于从属应用程序是REST服务,因此您可以公开一个HTTP / HTTPS终结点,以由就绪探针进行检查。并保持 liveness 探针的spring-boot应用程序的运行状况检查(或类似)端点。

但是,请注意,如果从属服务没有响应,则运行第一个微服务(Spring-boot应用程序)的pod可能会变得无响应。

因此,提供正确的超时(initialDelays和periodDelay)以及成功和失败阈值有助于您缓解这种无响应状态。例如;

readinessProbe:
httpGet: # make an HTTP request to dependent's health/readiness endpoint
port: <port>
path: /health
scheme: HTTP
initialDelaySeconds: 10 # how long to wait before checking
periodSeconds: 10 # how long to wait between checks
successThreshold: 1 # how many successes to hit before accepting
failureThreshold: 3 # how many failures to accept before failing
timeoutSeconds: 15

官方文档: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#define-readiness-probes

好文章: https://itnext.io/kubernetes-readiness-probe-83f8a06d33d3

关于kubernetes - Kubernetes:我应该在准备就绪探针的端点中检查哪些系统方面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54556302/

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