我正在尝试在K8s上创建Redis集群。在所需数量的redis容器联机之后,我需要一个sidecar容器来创建集群。
我有2个集装箱redis和一辆小汽车。我正在statefulset用6个副本运行它们。我需要sidecar容器为每个副本仅运行一次然后终止。它正在这样做,但是K8s不断重新运行边车。
我尝试restartPolicy在容器级别设置a ,但这是无效的。似乎K8s仅在Pod级别支持此功能。我不能使用它,因为我希望redis容器重新启动,而不是重新启动。
有没有类似的东西post-init container?我的sidecar需要运行在主redis容器之后才能使其加入集群。所以init container没有用。
用K8s 1.6解决此问题的最佳方法是什么?
我建议您使用Kubernetes Jobs:
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
这种作业将一直运行直到完成一次。在此作业中,您可以尝试检测是否所有必需的节点都可用以形成集群。
| 归档时间: |
|
| 查看次数: |
3377 次 |
| 最近记录: |