【发布时间】:2018-08-02 12:07:48
【问题描述】:
我有两个 pod pod-a 和 pod-b,它们属于 Openshift 项目中的不同应用程序。
两个 pod 都公开了一个健康检查 http url,我可以使用它来检查给定的 pod 是否已启动并运行。
我不希望两个 pod 在任何给定时间都在一起。
如果 pod-a 已启动,则 pod-b 不应启动,反之亦然。
如何在 Openshift 中实现这一点?
【问题讨论】:
-
这些是否来自同一个部署?你的用例是什么?
-
他们使用两个独立的部署配置。应用程序 A 在 pod-a 中运行,应用程序 B 在 pod-b 中运行。应用程序 A 管理一些数据库数据。应用程序 B 执行一些数据库数据的备份和清除。应用程序 A 大部分时间都在运行,但有时会运行应用程序 B 以清除所有内容。如果两个应用程序同时工作,数据就会丢失。我们总是关闭应用程序 A,然后运行应用程序 B。作为安全预防措施,我们要添加一个检查,停止应用程序 B 的启动是不是应用程序 A 已经在运行。
-
如果您可以修改 B 的源代码,我可能会在那里编写代码将 A 的副本计数设置为 0 并等待 kube api。如果您必须进行这样的检查;将节点关联设置为同一个节点并声明每个节点具有相同的主机端口 - 然后 kube 将无法调度它
标签: kubernetes openshift kubernetes-health-check