我在Kubernetes 1.0中运行了一个集群,我有一些容器,我想定期运行作为pod中的sidecar容器 - 通常是推送或拉动备份。我通过构建一个容器来构建一个容器,该容器具有我想要备份的数据,以及用于备份它的边车容器。 sidecar容器是一个基本的bash脚本,可以执行备份命令,然后长时间休眠(比如15分钟)我想在备份之间等待,最后以0状态代码退出。
在1.0中,这就像一个魅力。我的备份容器很简单,并不依赖于作为守护进程运行;它们几乎可以作为一个独立的命令执行并按预期工作,但是监视器使它们保持活动状态,因此将它们保持在循环中。
升级到1.1之后,我注意到这些pod都被置于CrashLoopBackOff状态,这意味着它们的重启被延迟了。这对于边车容器来说没什么问题,但是在此期间产生数据的容器也无法使用,这让我很吃惊。
有什么方法可以表明定期重启的pod不是崩溃循环,但是设计正在发生?或者是解决这个问题的唯一方法是将边车容器变成一个永不退出的守护进程?
答案 0 :(得分:2)
有什么方法可以表明定期重启的pod不是崩溃循环,但是设计正在发生吗?
不是我知道的。
或者解决此问题的唯一方法是将sidecar容器变成一个永不退出的守护进程?
这将是我建议的解决方案。