首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定Kubernetes DaemonSet的调度顺序

指定Kubernetes DaemonSet的调度顺序
EN

Stack Overflow用户
提问于 2018-05-20 20:50:57
回答 2查看 797关注 0票数 1

我让Consul在我的集群中运行,并且每个节点都将consul-agent作为DaemonSet运行。我还有其他与Consul交互的DaemonSets,因此需要运行consul-agent才能与Consul服务器通信。

我的问题是,如果我的DaemonSet在consul-agent之前启动,应用程序将出错,因为它无法连接到Consul并随后重新启动。

我也注意到其他DaemonSets也存在同样的问题,例如Weave,因为它需要kube-proxy和kube-dns。如果Weave首先启动,它将不断重新启动,直到kube服务就绪。

我知道我可以将重试逻辑添加到我的应用程序中,但我想知道是否可以指定DaemonSets的调度顺序?

EN

回答 2

Stack Overflow用户

发布于 2018-05-20 23:31:49

Kubernetes本身不提供pod /部署/服务之间特定依赖关系的方法(例如,“仅当服务B可用时启动pod A”或“在pod B之后启动pod A”)。

currect方法(基于我在研究时发现的)似乎是重试逻辑或init容器。引用docs

初始化容器在任何应用程序容器启动之前运行到完成,而应用程序容器是并行运行的,因此

容器提供了一种简单的方法来阻止或延迟应用程序容器的启动,直到满足某些前提条件。

这意味着您可以向您的应用程序添加重试逻辑(我建议这样做,因为它可能会在不同的情况下对您有所帮助,例如短暂的服务中断)。您可以使用init容器,该容器通过Kubernetes服务名称轮询健康端点,直到它获得令人满意的响应。

票数 2
EN

Stack Overflow用户

发布于 2018-05-21 00:30:00

重试逻辑优于启动依赖排序,因为它处理初始启动情况和从启动后中断中恢复

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50435031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档