kubernetes 为何在Pod规范中定义容器重启策略?

bihw5rsg  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(147)

有人知道为什么restartPolicy字段是在Pod级别而不是容器级别定义的吗?
似乎此设置与容器的关系更密切,而不是与Pod的关系。
那么在多容器Pod中如何控制单个容器的重启策略呢?

rqmkfv5c

rqmkfv5c1#

我认为重启策略POD规范的一部分。

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: 1st
    image: image-1
    command: ["./bash", "-test1"]
  - name: 2nd
    image: image-2
    command: ["./bash", "-test2"]
  restartPolicy: Never

重新启动策略在POD规范级别设置,并应用于POD中的所有容器,即使init container存在。
如果POD内有多个容器,我们必须将其视为紧密耦合

官方文件是这样写的:连结

运行多个需要协同工作的容器的单元。单元可以封装由多个协同定位的容器组成的应用程序,这些容器紧密耦合并需要共享资源。这些协同定位的容器形成一个内聚的服务单元-例如,一个容器向公众提供存储在共享卷中的数据,而另一个独立的附属容器刷新或更新这些文件。单元 Package 这些容器,存储资源和短暂的网络身份一起作为单个单元。
注意:将多个协同定位和协同管理的容器分组到一个Pod中是一种相对高级的用例。您应该仅在容器紧密耦合的特定示例中使用此模式。
如果您想重新启动POD中的单个容器,您将无法执行此操作,您必须通过POD设计将该容器排除在POD之外。
即使你会看到container restart policy它的谈论:POD规范仅限重新启动策略。

相关问题