如何在kubernetes中添加pod依赖,就像在docker-compose.yml中的'depends_on'一样

问题描述 投票:3回答:3

我需要像pod2一样启动kubernetes pod,只有当pod1启动并运行时才会启动。

我们可以使用docker-compose.ymldepends_on中做到这一点

docker kubernetes devops kubernetes-helm
3个回答
2
投票

不,没有相当于depends_on可用的内置依赖管理。通常,我们假设松散耦合的服务,并且作为一种良好的实践,在启动顺序方面应该没有硬依赖性,但是应该使用重试和超时。如果必须硬编码依赖项,则可以使用init containers。在您的情况下,pod2中的初始化容器可以简单地查询pod1(或更好:它前面的服务)是否在while循环中准备就绪。 pod2中的主容器只保证在init容器成功退出时启动。


0
投票

没有直接相当于与Kubernetes原语的依赖关系,作为一种解决方法,您可以实现准备探测,这将使pod2无法使用,直到它看到pod1启动并运行。


0
投票

你可以使用我建立的这个pod-dependency-init-container。这将检查在启动pod之前是否有任何具有给定labels的pod正在运行。

© www.soinside.com 2019 - 2024. All rights reserved.