我们的环境中有很多 cronjobs。他们将 linkerd-proxy 作为 sidecar 运行。
嗯,在主容器完成后,代理容器经常(但并非总是)会失败。我们“认为”这可能是由于开放连接造成的,但只是因为我们读到了可能导致它的原因。我们没有任何真实的证据。
但最终我们不在乎为什么。我们不希望失败的 linkerd-proxy 导致作业失败(并发出警报)。我在 podFailurePolicy 上找到了文档。但只有两个示例,并且没有指向有关政策格式的更多详细信息的链接。
其中一个示例解释了我可以忽略容器中某些退出代码的失败。但我该如何说所有退出代码呢?如果您知道一般政策的文档在哪里,那就加分了,因为我似乎找不到任何相关内容。
编辑:仔细查看 podFailurePolicy 文档,我认为它甚至没有做我想要的事情,它只是导致失败不计入退避,并重新运行作业。但无论如何我仍然很想知道这个问题的答案。 :)
我认为将
Ignore
操作与 NotIn
运算符结合起来可以达到你想要的效果?
podFailurePolicy:
rules:
- action: Ignore
onExitCodes:
containerName: linkerd-proxy
operator: NotIn
values: [0]