作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何为我的 Spring Boot 应用程序编写 kubernetes 就绪探针,启动大约需要 20 秒?我试图按照 Configure Liveness, Readiness and Startup Probes 中的示例进行操作,但我不确定 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
最佳答案
Kubernetes kubelet 将在您的应用程序中的 /healthz
路径发出 http 请求,并期望从该端点返回 http 状态代码 200 以确保探测成功。因此,您需要在休息 Controller 中有一个休息端点,它将从 /healthz
返回 200。实现它的一种简单方法是包括 spring boot actuator 依赖项并将 liveness 探测路径更改为 /actuator/health/liveness
。默认情况下,Spring Boot 执行器带有一个 rest Controller 端点,它从 /actuator/health/liveness
返回 200。
关于Kubernetes 活跃度探测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62014761/
我是一名优秀的程序员,十分优秀!