我想要一个包含几个组件的多容器容器:
这似乎很适合作为described in the Kubernetes documentation的吊舱设计理念,但我相信只要“边车”运行,吊舱就会保持活力。就我而言,“主要”容器不是长寿的;一旦它退出,“边车”应该被终止。
我怎样才能做到这一点?
答案 0 :(得分:18)
只要其中一个容器正在运行,就会运行一个pod。如果你需要它们一起退出,你必须安排边车死亡。我们没有" primary" vs" secondary"容器生命周期,虽然那很有趣。
一种选择是使用emptyDir卷并写一个文件告诉边车"时间到了#34;。边车会在看到该文件时退出。
答案 1 :(得分:1)
对于仍在寻找答案的任何人,sidecar功能正在开发中,应该在Kubernetes v1.17中提供,它将具有这种确切的要求的行为。
根据提案:
单行增强描述:现在可以将容器标记为“边车”,以便它们在普通容器之前启动,而在所有其他容器终止后关闭。
答案 2 :(得分:0)
您是否考虑过使用http://kubernetes.io/docs/user-guide/jobs/资源?
答案 3 :(得分:0)
在询问问题时,该功能可能不可用,但现在可以为pod定义postStart和preStop处理程序。您可能会在主容器中定义preStop来杀死sidecar容器。
答案 4 :(得分:0)
您可以使用活动度探针来帮助解决此问题。探针检查“主”容器(以及它自己的任何检查)。一旦主容器下降,活度探针就会失效,然后应该回收豆荚。