我有一个运行在具有RollingUpdate更新策略的部署上的K8集群。如何让Kubernetes在启动后将容器标记为就绪之前等待额外的秒数或直到满足某些条件?
例如,在部署更新时,API服务器没有停机时间。但是在容器启动之后,它仍然需要X秒的时间才能准备好为HTTP请求提供服务。如果它在容器启动后立即将其标记为就绪,而API服务器实际上尚未准备就绪,则会有一些HTTP请求在短时间内失败。
发布于 2020-11-03 23:20:41
将@David Maze评论发布为社区维基,以获得更好的可见性:
您需要一个readiness probe;在探测器通过之前,pod不会显示为"ready“(并且部署不会继续)。
示例:
readinessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5initialDelaySeconds:在启动活动或就绪探测之前容器启动后的秒数。默认为0秒。最小值为0。periodSeconds:执行探测的频率(秒)。默认为10秒。最小值为1。https://stackoverflow.com/questions/64319332
复制相似问题