【问题标题】:How does termination work in Multi container pods in Kubernetes?终止在 Kubernetes 的多容器 pod 中如何工作?
【发布时间】:2019-09-16 14:00:45
【问题描述】:

目前我正在开发一个 K8S 项目,该项目需要一个日志文件提取器侧车容器,该容器与主容器一起工作以从主容器中提取日志文件。 sidecar 容器通过 java web socket 连接到我的机器,我可以执行命令来检索日志文件。日志文件保存在一个空目录的共享卷挂载中

这可行,但我需要为主容器崩溃的情况做好准备。如果是的话
a) 边车容器和主容器都是从头开始重新启动的
b) 只是主容器启动了

还有
c) 是否将共享卷重新初始化为 emptyDir
d) 保留所有现有文件

如果情况 a) 或 c) 发生,用于终止边车容器的终止信号是什么。我打算使用某种关闭挂钩来监听它并在它终止之前手动执行命令。

【问题讨论】:

  • 我同意 Alassane Ndiaye 的回答,但使用简单容器很容易测试行为。

标签: java kubernetes


【解决方案1】:

如果容器发生故障,它会根据其restart policy 重新启动。同一 Pod 和卷中的其他容器不受影响。

【讨论】:

    【解决方案2】:

    正如您提到的,您可能需要终止挂钩,您可以使用优雅终止挂钩。

    虽然对于重启,您可以使用重启策略并对其进行管理,但如果您使用的是 emptyDir 卷并且您的 pod 调度到另一个节点,那么之前的数据将不存在。

    否则,如果您正在运行单节点集群,那么卷没有问题。

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2017-05-31
      • 2017-08-25
      • 2017-07-09
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2016-08-09
      • 2020-02-08
      相关资源
      最近更新 更多