我目前在以下情况下遇到状态设置问题:
为什么:
statefulset正在尝试首先启用pod-0,但是由于以下消息,这个将不会联机:
[ERROR] WSREP:从此节点引导群集可能不安全。它不是离开群集的最后一个,可能不包含所有更新。要使用此节点强制群集引导,请手动编辑grastate.dat文件并将safe_to_bootstrap设置为1
我可以做什么,但我真的不喜欢:
我想拥有什么:
这样的东西可用吗?有人有其他想法吗?
答案 0 :(得分:0)
不幸的是,在Kubernetes的标准功能中没有类似的东西。
我在这里只看到两个选项:
使用InitContainers以某种方式检查重新启动时的当前状态。 这将允许您在主容器启动之前运行任何代码,以便您可以尝试使用自定义脚本来解决问题等。
修改数据库启动脚本以允许它等待某个环境变量或任何标志文件,并在运行数据库之前使用PostStart hook检查状态。
但是在这两个选项中,你必须编写自己的启动顺序逻辑。