如何为我的spring引导应用程序编写kubernetes准备就绪探测器,启动时间大约为20秒?我试着效仿配置活性、准备度和启动探针的例子,但我不知道Kubernetes是如何将状态代码200确定为成功的
apiVersion: v1
kind: Pod
metadata:
labels:
app: backend
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: Custom-Header
value: Awesome
initialDelaySeconds: 3
periodSeconds: 3发布于 2020-05-26 04:44:51
Kubernetes kubelet将在应用程序的/healthz路径上发出http请求,并期望从该端点返回的http状态代码200将成功。因此,您需要在rest控制器中有一个rest端点,它将从/healthz返回200。实现这一目标的一种简单方法是包含弹簧引导执行器依赖项,并将活性探测路径更改为/actuator/health/liveness。缺省情况下,Spring引导执行器带有rest控制器端点,从/actuator/health/liveness返回200。
发布于 2020-05-26 04:50:26
initialDelaySeconds字段告诉kubelet,它应该等待20秒才能执行第一个探测。因此,这通常被配置为容器/吊舱启动所需的值/时间。
将initialDelaySeconds: 20配置为20秒。
发布于 2021-07-27 06:35:45
K8引擎认为响应代码200-399是一个成功的探测。在您的情况下,您可以添加初始延迟秒,使您的探测以延迟20秒开始。
https://stackoverflow.com/questions/62014761
复制相似问题