我正在寻找一些关于kubernetes中哨兵设置的指导。我面临的问题如下。要启动哨兵进程,必须将配置文件(哨兵.conf)作为命令行参数传递,并且该文件必须可被哨兵进程写入。
我通过kubernetes configmap卷挂载生成了sentinel.conf配置文件。但是生成的配置文件只能是只读的。Kubernetes不允许它是可写的
为了避免这个问题,我将生成的配置文件复制到一个新的配置文件中,并使其可写。然后将新文件传递给哨兵进程。这是我在开始脚本中完成的。也可以通过init容器来完成。到目前为止一切顺利。
我所面临的问题是……每次容器重新启动时,将执行配置文件复制步骤,哨兵进程在配置文件中所做的任何更改都将丢失。如果对配置文件所做的更改在重新启动哨兵进程后丢失,这会是一个问题吗?
如果有人遇到这个问题并解决了,请指导我。我的redis版本是6.2.1
您可以将redis.conf
文件存储在持久卷中
除此之外,在你的init容器脚本中,检查redis.conf
是否已经存在。如果有,不要复制。如果没有,这是第一次,所以复制它。
你可以在这里和这里看到类似的东西。我不是这些链接的作者。但我发现他们很有帮助