2017-02-27 1161 views
0

我正在尝试为新项目找到正确的配置管理工具。我遇到了Consule。在我回到我的问题之前,我想引用什么样的领事页面说:配置的静态配置和动态配置

配置管理工具可以提供的静态配置可以移动到动态键/值存储中。这允许应用程序配置更新而不会收敛缓慢。

它还说:

尽管如此,领事是不是配置管理工具的替代品。这些工具对于设置应用程序至关重要,包括Consul本身。静态配置最好由现有工具管理,而动态状态和发现则由Consul更好地管理。

来源:https://www.consul.io/intro/vs/chef-puppet.html

我的理解是领事是一个动态的配置管理工具,它的快。但我的问题是,它与主厨等静态配置管理工具有什么不同?

最重要的是什么时候选择什么?

回答

2

它不是真的太快或慢。 Chef/Ansible/Puppet /等的问题。这些系统通常是周期性运行的,例如,每30分钟一班。因此,如果一个节点发生变化(或被添加/删除),则可能需要长达30分钟,直到所有其他节点都注意到这一点(应用程序服务器和数据库服务器可以互相找到对方)。

领事(或许与consul-template)要快得多,有点直接,这里。所有相关的注释都会通知有变化。但是,它没有提供上述配置管理工具的原语。

所以两者的结合也是有效的。厨师/木偶/ Ansible /等。安装软件包并编写大部分配置,再加上Consul(或etcd)作为快速移动部件。

1

这里是我的$ 0.05对这个问题: 如果你有一些云上动态基础设施 - 的创建和偶尔破坏(“临时服务器”),这意味着服务器,通常要满足一些变化的负载,然后领事是很棒的工具:这些服务器可以在启动时启动并从consul读取他们的配置。

理想情况下,在这个用例中,您将启动一个预先定制的服务器,以满足您的需求。例如,你的服务器在启动时需要有它的领导。您可以使用Ansible将领事预烘烤到服务器中。

所以整个过程是这样的:

  1. 您为您的服务器模板,你需要(库,应用程序,领事,等等)的所有东西。你可以使用Ansible来做到这一点。这只需完成一次(每个模板)
  2. 您使用您的云来启动这些模板 - 当它们启动时,它们上的consul客户端从Consul集群获取一些额外的配置值(每次服务器启动时都会发生这种情况) 。