【问题标题】:Redis sentinel setup in kubernetesKubernetes 中的 Redis 哨兵设置
【发布时间】:2021-08-07 05:40:19
【问题描述】:

我正在寻找有关 kubernetes 中哨兵设置的一些指导。我面临的问题如下。 要启动哨兵进程,必须将配置文件(sentinel.conf)作为命令行参数传递,并且文件必须可由哨兵进程写入。

我已经通过 kubernetes configmap 卷挂载生成了 sentinel.conf 配置文件。但生成的配置文件只能是只读的。 kubernetes 不允许它是可写的。

为了规避这个问题,我将生成的配置文件复制到一个新的配置文件并使其可写。然后将新文件传递给哨兵进程。这是我在启动脚本中完成的。也可以通过init容器来完成。到目前为止一切顺利。

我使用这种方法面临的问题是...... 每次容器重新启动时,都会执行配置文件复制步骤,并且哨兵进程对配置文件所做的任何更改都将丢失。如果重新启动哨兵进程后对配置文件所做的更改丢失,会不会有问题?

如果有人遇到此问题并解决了它,请指导我。 我的redis版本是6.2.1

【问题讨论】:

    标签: redis redis-sentinel


    【解决方案1】:

    您可以将redis.conf 文件存储在persistent volume

    此外,在您的 init 容器脚本中,检查 redis.conf 是否已经存在。如果是,请不要复制它。如果没有,那就是第一次,所以复制它。

    您可以看到类似的herehere。我不是这些链接的作者。但我觉得它们很有帮助

    【讨论】:

    • 这种方法的问题是,如果在通过 configmap 生成的文件中更改了任何配置,那么它将不会反映在持久卷上的配置文件中,因为它不会被启动脚本复制,因为文件持久存储上已经存在。
    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多