当我通过 puppet 更改 redis 配置时,除了重新启动 redis 服务之外,还有更好的加载配置的方法吗?
是的,您可以做到这一点,但这需要在 Puppet 中编写您自己的客户提供程序。这并不简单,但如果您愿意减少您关心的设置,事情会更简单。
一个简单的情况可能只是动态设置主站或从站。我们会将这些参数添加到您的 Redis 类中。当然,我们会模板化 redis.conf 并将这些设置放入其中,就像您现在可能做的那样。然后,您需要某种类似于以下语法的语法,其语义可能应该更具表现力。
redisconf { 'master': enable => 'true', }
Run Code Online (Sandbox Code Playgroud)
redisconf 将是用 Ruby 编写的自定义提供程序。它需要连接到 Redis 服务器的端口(这是您需要设置的另一个输入和默认值)。连接后,您需要发出信息并以哈希形式获取结果输出。
第一步是确定您拥有的 Redis 版本。如果是 2.4/2.6,您可以使用config set和config get,否则您将使用我们已有的哈希并手动运行命令。在我们的示例中,您将检查角色的值。如果是主人,就什么也不做。如果它是一个从机,则执行“slaveof no one”并生成一个 Puppet 事件。假设存在差异,redisconf Puppet 提供者将需要进行更改并理想地进行验证或抛出错误。将整个事情包裹在傀儡主义中,你就可以了。
如果你决定接受的话,这将是一个不错的小项目。
归档时间: |
|
查看次数: |
17043 次 |
最近记录: |