有关kubernetes的initContainer的一些问题

时间:2019-10-12 01:23:02

标签: kubernetes

我有两个容器,也许是A和B,A应当在B之前运行,但是A是服务器应用程序,其最终类型是“运行”而不是“完整”,所以我想知道这样B永远不会执行吗?那我该如何处理呢?

1 个答案:

答案 0 :(得分:3)

如果A和B是同一个广告连播的一部分,那么initContainer是建立排序的传统方式。

Kubernetes Pod lifecycle中,我想你的意思是“正在运行,但没有终止”

您更适合使用pod liveness/readiness probe,因为服务器在准备就绪之前不会接受请求。

Straight to the Point: Kubernetes Probes阅读“ Peter Malina

  

就绪性和活动性探针在容器的整个使用寿命中并行运行。

     
      
  • 使用活动探针检测内部故障并重新启动容器(例如,关闭HTTP服务器)。
  •   
  • 使用就绪探针来检测您是否可以提供流量(例如已建立的数据库连接)并等待(不重新启动)容器。
  •   
     

失效的容器也不是现成的容器。
  为了提供交通服务,舱内的所有容器必须准备就绪。

您可以添加pod readiness gate (stable from 1.14)来指定要评估Pod准备状态的其他条件。

还请阅读Kubernetes Liveness and Readiness Probes: How to Avoid Shooting Yourself in the Foot中的“ Colin Breck

Should Health Checks call other App Health Checks”将该方法与InitContainer approach

进行了比较