在我的 kubernetes yaml(在 openshift env 中)中,我定义了两个容器。
此外,规范部分将 restartPolicy 设置为“始终”。
spec:
restartPolicy: Always
我希望其中一个容器的 restartPolicy 为 Never。
当我尝试在该容器部分中进行设置时,我发现在保存 yaml 时它被删除了。
正确的做法是什么?
在 Kubernetes 中,
restartPolicy
是在 pod 级别设置的,而不是在单个容器级别设置的。这意味着同一 Pod 中的所有容器必须共享相同的 restartPolicy
。
这种设计基于这样的理念:Pod 是一个部署单元,它封装了应该共享相同生命周期、调度和运行时上下文的容器。
这就是为什么您在保存清单文件时看到该字段被删除的原因。
如果您需要为不同的容器采用不同的重启策略,您可能需要将它们分成不同的 pod,每个 pod 都有自己合适的
restartPolicy
。
您可以在这里看到更详细的解释。