是否可以根据容器退出代码定义restartPolicy?

时间:2018-02-14 22:30:37

标签: kubernetes

是否可以根据docker退出代码为pod应用restartPolicy?我的意思是,如果一个容器将以代码1退出,则应重新启动pod(restartPolicy = Always),但是当容器将以代码2退出时,则不应重新启动pod(restartPolicy = Never)?

我在容器中有一个程序,它有2个退出代码:

  • 退出1 - 可以恢复故障(例如,当服务器可以关闭/重新启动时与服务器断开连接),
  • 退出2 - 失败无法恢复(传递错误的参数)。

    我希望kubernetes在退出代码为1时重启pod,但在退出代码为2时则不会,因为没有机会恢复。

我认为我可以通过将不可恢复失败的退出代码设置为0(正常终止)并将可恢复失败的代码退出为1来欺骗kubernetes然后将restartPolicy设置为onFailure但我不知道喜欢这个解决方案。

1 个答案:

答案 0 :(得分:0)

没有。目前尚不清楚"错误的论点"意味着,但从生命周期的角度来看,听起来像是人们想要的是防止pod在这种情况下完全被允许进入集群。如果有可能检测到"传递错误的参数"在没有运行容器的情况下,可以使用AdmissionController来实现此目的。