在Pod故障Kubernetes上运行容器

时间:2018-12-20 19:49:28

标签: kubernetes

我有一个cronjob,可以定期运行并执行操作。我想在该cronjob失败时使用technosophos / slack-notify容器发送一条松弛消息。

在pod发生故障时是否可以运行容器?

3 个答案:

答案 0 :(得分:3)

我不知道有什么内置的。您可以使用Web挂钩在窗格更改时得到通知,并在其中查找状态信息。但是您必须自己构建管道或寻找现有的第三方工具。

答案 1 :(得分:2)

Pod和Jobs是不同的东西。如果您要等待失败的工作,然后再发送电子邮件,则可以在bash中执行以下操作:

while true
do
  kubectl wait --for=condition=failed job/myjob
  kubectl run --image=technosophos/slack-notify --env="EMAIL=failure@yourdomain.com"
done

答案 2 :(得分:1)

问题:在pod发生故障时是否可以运行容器?

是的,尽管目前没有任何现成的东西,但是您可以定义运行状况检查。

然后,您可以编写cron作业,Jenkins作业或自定义的kubernetes集群服务/控制器,以定期检查/探查运行状况检查,如果运行状况检查失败,则可以基于此运行容器。