如何定义一个pod与另一个pod的顺序或依赖关系



在docker compose中,我们有"dependens_on"标记,用于定义一个容器对另一个容器的依赖性。示例:

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

openshift中是否有类似的方法来定义依赖关系?

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

首先,您应该构建服务,以便可以按任何顺序调用它们。

在Kubernetes中,在启动之前确保另一个服务处于活动状态的方法之一是等待initContainer中的可用性。

然而,世界并不理想,有时你真的需要依赖性,afaik Mirantis在K8S上部署OpenStack控制平面时遇到了这个问题,这导致https://github.com/Mirantis/k8s-AppController

最新更新