Kubernetes-如果configmap更改,如何触发作业?

时间:2019-12-13 10:56:30

标签: kubernetes openshift-origin configmap kubernetes-jobs

在部署过程中,我们有一个场景,在实际的应用程序容器处于就绪状态之前,只需执行一次活动即可。此活动不能作为init容器放置,因为init容器将与应用程序容器的每个副本一起执行,但是在这种情况下,此活动只需执行一次。

为实现这一点,我创建了一个kubernetes作业,该作业执行该活动并完成。

  1. 是否可以在我的应用程序容器部署定义中检查此特定作业是否已完成? kubernetes中是否有任何预定义的密钥可以存储此元数据信息,并可以用来标识作业状态?

  2. 此作业正在使用configMap,并且此作业中使用的容器将目录服务器中的配置文件(由configMap提供)加载。如果configMap更改,是否可以自动触发作业?我可以删除作业并使用kubectl重新创建,但我正在寻找自动触发器。 如果在Kubernetes中没有,OpenShift或HELM中有什么可能的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

Helm对于这种事情有部署后的挂钩,尽管使用起来可能有些困难。我们为此使用了一个自定义运算符,因此我们可以在部署中拥有一个显式的状态机(init-> migration-> deploy-> test-> ready)。但这要写很多工作。