我正在尝试在K8s上创建一个Redis集群。当所需数量的Redis容器在线时,我需要一个辅助容器来创建集群。
我有两个容器,redis
和一个辅助容器。我在一个带有6个副本的statefulset
中运行它们。我需要辅助容器只为每个副本运行一次,然后终止。它确实这样做了,但是K8s却不断重新运行辅助容器。
我尝试在容器级别设置restartPolicy
,但无效。似乎K8s仅支持在pod级别进行此操作。但我不能使用这种方法,因为我想要重启redis
容器,但不想重启辅助容器。
是否存在像post-init container
这样的东西?我的辅助容器需要在主要redis
容器之后运行,以使其加入集群。因此,init container
无用。
有没有最佳解决方案来解决K8s 1.6中的这个问题?
postStart Container hook
会有帮助吗?它不是另一个容器,而是一个在容器的命名空间和cgroups中执行的“命令”(例如脚本)。 - chrk