puppet – Redis重新加载配置更改而不重新启动服务

当我通过puppet更改redis配置时,除了重新启动redis服务之外,还有更好的方法来加载配置吗?
最佳答案
是的,你可以做到,但它将涉及在Puppet中编写自己的客户提供商.这是非常重要的,但如果你愿意减少你关心的设置,那就更简单了.

一个简单的情况可能只是动态设置主站或从站.我们将这些参数提供给您的Redis类.我们当然会将redis.conf模板化,并将这些设置放入其中,就像你现在可能做的那样.那么你需要某种语法,如下面的语义应该更具表现力.

redisconf { 'master': enable => 'true', } 

redisconf将是您用Ruby编写的自定义提供程序.它需要连接到Redis服务器的端口(这是另一个输入,你需要设置默认值).连接后,您需要发出信息并将结果输出作为哈希值获取.

第一步是确定您拥有的Redis版本.如果它是2.4 / 2.6你可以使用config setconfig get,否则你将使用我们已经拥有的哈希并手动运行命令.在我们的示例中,您将检查角色的值.如果它是主人,什么都不做.如果它是奴隶,那么执行’slaveof no person’并生成Puppet事件.假设存在差异,redisconf Puppet提供程序需要进行更改并理想地验证或抛出错误.用Puppet-isms包裹整个东西,你就可以了.

如果你决定接受它,这将是一个不错的小项目.

转载注明原文:puppet – Redis重新加载配置更改而不重新启动服务 - 代码日志