Pod的就绪性探测
Pod对象启动后容器可能并非直接处于可用状态。此时不应该将其暴露给用户。这种情况下就需要就绪性探测。其定义方式和属性与存活性探测大体一致,只是就绪性探测在探测失败时不会重启或杀死容器。将存活性探测中的livenessProbe
改为readinessProbe
即可定义就绪性探测。参考下面的示例:
apiVersion: v1
kind: Pod
metadata:
name: readiness-exec
spec:
containers:
- name: readiness
image: busybox
args: ["/bin/sh", "-c", "while true; do rm -f /tmp/ready; sleep 30; touch /tmp/ready; sleep 30; done"]
readinessProbe:
exec:
command: ["test", "-e", ,"/tmp/ready"]
initialDelaySeconds: 5
periodSeconds: 5
未定义就绪性探测的Pod对象在Pod进入“Running”状态后将立即就绪,在容器需要时间进行初始化的场景中,在应用真正就绪之前必然无法正常响应客户端请求,因此,生产实践中,必须为关键性Pod资源中的容器定义就绪性探测机制。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!