我正在寻找一个很好的解决方案,以替换正在kubernetes运行cassandra的死去的kubernetes工人节点。
方案:
- Cassandra群集由3个POD
- 失败发生在一个Kubernetes工人节点 上
- 替换节点正在加入群集
- StateFulset的新豆荚已安排在新节点上
- 随着POD IP地址的变化,新的POD可见为新的Cassandra节点(群集中的4个节点(,并且无法在删除了死者。
卡桑德拉(Cassandra(正在以状态满足为发,很难遵循官方程序。
我发现的一个完全骇客的解决方法是使用configmap提供Java_opts。由于更改ConfigMap尚未重新创建POD(尚未重新创建Pods(,因此您可以通过操作运行POD,以至于可以遵循该过程。
但是,正如我提到的那样,这就是超级骇人听闻。我想知道是否有人在Kubernetes上运行Cassandra,并且有更好的想法如何应对这种失败?
JetStack Navigator支持这一点,但目前在Alpha中:
https://github.com/jetstack/navigator
直到死者被删除为止。 这是为什么? 我使用状态填充,可以杀死一个吊舱,并在
中加入新的豆荚