Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Kuberentes更新策略等待实际就绪_Kubernetes - Fatal编程技术网

Kubernetes Kuberentes更新策略等待实际就绪

Kubernetes Kuberentes更新策略等待实际就绪,kubernetes,Kubernetes,我有一个K8集群,它与一个具有RollingUpdate更新策略的部署一起运行。如何让Kubernetes在启动后将容器标记为就绪之前多等待几秒钟或直到满足某些条件 例如,在部署更新时,API服务器没有停机时间。但是在容器启动之后,它仍然需要X秒的时间才能准备好开始服务HTTP请求。如果容器启动后立即将其标记为就绪,而API服务器实际上尚未就绪,则会有一些HTTP请求在短时间内失败。将@David Maze评论发布为社区wiki以提高可见性: 你需要一份工作;在探测器通过之前,pod不会显示为“

我有一个K8集群,它与一个具有RollingUpdate更新策略的部署一起运行。如何让Kubernetes在启动后将容器标记为就绪之前多等待几秒钟或直到满足某些条件


例如,在部署更新时,API服务器没有停机时间。但是在容器启动之后,它仍然需要X秒的时间才能准备好开始服务HTTP请求。如果容器启动后立即将其标记为就绪,而API服务器实际上尚未就绪,则会有一些HTTP请求在短时间内失败。

将@David Maze评论发布为社区wiki以提高可见性:

你需要一份工作;在探测器通过之前,pod不会显示为“就绪”(并且部署不会继续)

例如:

readinessProbe:
  exec:
    command:
    - cat
    - /tmp/healthy
  initialDelaySeconds: 5
  periodSeconds: 5
  • initialDelaySeconds
    :容器启动后的秒数 在启动活动性或就绪性探测之前启动。默认值 到0秒。最小值为0

  • periodSeconds
    :执行探测的频率(以秒为单位)。违约 到10秒。最小值为1


您是否尝试将initialDelaySeconds添加到此中?如果您计算接收http请求所需的时间,并相应地设置准备POD的延迟,那么您需要一个;在探测器通过之前,pod不会显示为“就绪”(部署也不会继续)。@DavidMaze刚刚在那里检查过,ReadinesProbe和startupProbe之间有什么区别?Startup probe与liveness probe类似,但只在启动时运行;您可以为启动案例配置不同的检查间隔。还要注意的是,启动探针是相当新的(K8S1.16中的alpha,1.18中的beta),您的集群可能不支持它们。David Maze提出的建议是否回答了您的问题?如果是这样,请考虑把它作为答案-它会更容易看到其他人遇到类似的问题。