首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis Stack Server -无法更改数据Dir (Docker/Kubernetes)

Redis Stack Server -无法更改数据Dir (Docker/Kubernetes)
EN

Server Fault用户
提问于 2023-05-09 13:27:44
回答 1查看 54关注 0票数 0

我正试着让红星在库伯奈茨的环境中运行。我已经做了很多教程,阅读文档等等。我需要将.rdb文件和.aof文件(S)保存在一个持久的卷中,这样数据就可以在Pod (或容器)失败/删除/等等中持久保存。我已经启动了一个redis实例,我正在尝试使用一个自定义配置文件。所有的豆荚都被创建并运行良好,定制配置文件中的saveappendonly变量被更新/正确(其他的是默认值)。但是,daemonizedir变量都不会更新。不管我做什么,它们仍然是默认值。

自定义配置文件:

代码语言:javascript
复制
daemonize yes
cluster-enabled no
dir /redis/storage
port 6397
save 60 5
save 300 1
appendonly yes

我尝试使用配置映射创建自定义配置文件,然后使用spec.template.spec.containers.command/spec.template.spec.containers.args将自定义配置文件(命名为redis-stack.conf)复制到/etc/,其中有一个redis-stack.conf文件,该文件确实被自定义配置文件中的数据覆盖。在copy命令之后,我有redis-stack-server /etc/redis-stack.conf。当我执行kubectl apply -f <filename>.conf时,为其中一个创建的荚获取bash并执行redis-cli CONFIG GET DIR,它返回默认的dir。

我尝试在redis-cli CONFIG SET DIR <custom dir>字符串的末尾添加spec.template.spec.containers.command/spec.template.spec.containers.args,但这也不起作用。日志中没有错误,只有成功的事件。

我在网上搜索过,但我找到的解决类似问题的答案并不能解决我的问题。

任何帮助都是非常感谢的。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2023-06-02 15:52:47

我想出来了。让它使用自定义持久性目录的唯一方法是在spec.template.spec.containers.args ( spec.template.spec.containers.command是“sh”,“-c”)中启动redis堆栈服务器时将目录作为命令行参数添加。所以spec.template.spec.container.args是redis-stack-server /path/to/custom-config.conf --dir /path/to/mounted/persistent-volume。这将加载自定义配置文件中的所有内容(除daemonize外,我认为在我的示例中它实际上需要为no ),并且还正确地设置了自定义持久性目录。

令人惊讶的是,花两周的时间来做一些事情可以解决问题。;-)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1130740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档