2017-09-01 22 views
0

在docker撰写中,我们有“depends_on”标记,用于定义一个容器在另一个容器上的开始停用。 例如:如何定义一个窗格的排序或依赖关系

peer0.org1.example.com: 
container_name: peer0.org1.example.com 
. 
. 
. 
depends_on: 
    - orderer.example.com 
    - couchdb 

是否有openshift类似的方式来定义的依赖?

+0

看看StatefulSets是否能够帮助你的用例。这些都是Kubernetes 1.7中的测试版,并且是早期版本的PetSets的替代品。 https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/ –

回答

1

一种选择是使用Readiness Probes来检查任何依赖关系,例如通过进行HTTP调用来检查所需的pod是否启动。当这些探测器失败时,吊舱不会显示在相应服务的端点,因此不会以这种方式接收任何流量 - 例如通过Ingress。一旦相关的豆荚出现了,那么您的豆荚也将被视为可用。

0

首先,你应该建立你的服务,以便它们可以以任何顺序提出。

在Kubernetes中,在进入启动之前可以确保其他服务还活着的方法之一是在initContainer中等待可用性。

世界并不理想,虽然,有时候你真的需要依赖关系,据我所知Mirantis不得不对K8S OpenStack的控制平面,导致https://github.com/Mirantis/k8s-AppController部署这个问题