Liveness Probe和Readiness Probe的区别?开发时如何配置HTTP检查端点?如何设置容器的资源限制(CPU/Memory)?
·
Kubernetes 探针与资源限制解析
1. Liveness Probe 与 Readiness Probe 的区别
1
| 探针类型 | 作用机制 | 失败后果 |
|---|---|---|
| Liveness Probe | 检测容器是否处于运行状态(是否存活) | 重启容器 |
| Readiness Probe | 检测容器是否准备好接收流量(服务是否可用) | 从Service Endpoints中移除 |
2. HTTP 检查端点配置示例
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
2
注意要点:
/healthz和/ready需要自行实现initialDelaySeconds应根据应用实际启动时间调整- 推荐HTTP状态码200-399视为成功
3. 容器资源限制配置
resources:
requests:
memory: "256Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "1"
3
关键参数说明:
- requests: 调度时保证的最小资源
- limits: 容器最大可用资源
- 内存单位必须使用 Mi/Gi(二进制单位)
- CPU 单位:1核心=1000m(millicores)
常见资源问题处理:
- 内存超限:容器会被 OOMKilled
- CPU 超限:容器会被 CPU Throttling
更多推荐



所有评论(0)