从运行Cassandra的Kubernetes节点故障中恢复



我正在寻找一个很好的解决方案,以替换正在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

直到死者被删除为止。 这是为什么? 我使用状态填充,可以杀死一个吊舱,并在

中加入新的豆荚

最新更新