我正在尝试在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 次 |
最近记录: |