Helm 等待依赖项部署在 kubernetes 上准备就绪
Posted
技术标签:
【中文标题】Helm 等待依赖项部署在 kubernetes 上准备就绪【英文标题】:Helm wait till dependency deployment are ready on kubernetes 【发布时间】:2019-07-22 13:19:59 【问题描述】:我正在使用 helm chart 在 kubernetes 上部署我的应用程序。但是我在堆栈中使用的服务依赖于其他服务我如何确保在依赖项建立之前不会部署 helm?
【问题讨论】:
【参考方案1】:通常你不会;您只需让 Helm(或 kubectl apply -f
)一次性启动所有内容,然后让它重试启动所有内容。
最常见的模式是,如果外部服务不可用,容器进程会在启动时简单地崩溃;发生这种情况时,Kubernetes Pod 机制将重新启动容器。如果依赖永远不会出现,您将永远陷入 CrashLoopBackOff 状态,但如果它在 5-10 秒内出现,那么一切都会在一两分钟内正常出现。
还要记住,任何类型的 pod 在 Kubernetes 中都是一次性的。 IME 如果某项服务无法正常工作,首先要尝试的是kubectl delete pod
并让部署控制器重新创建它。 Kubernetes 也可以自行执行此操作,例如,如果它决定需要将 pod 重新定位到不同的节点。也就是说:即使在您的 pod 首次启动 sup 时存在某些依赖关系,也不能保证它会永远保持下去。
【讨论】:
嗨,我们需要与 helm 相同的功能,我的意思是 chart B 将在 chart A 安装并启动并运行后部署,类似于wait
命令。几年后,有更好的解决方案吗?
此设置未更改。最后一段仍然相关:如果应用程序 A 在启动时间后失败,应用程序 B 仍然需要某种方式来做出反应,这与 A 尚未准备好并没有真正的不同。以上是关于Helm 等待依赖项部署在 kubernetes 上准备就绪的主要内容,如果未能解决你的问题,请参考以下文章