Configuration 配置的静态资源调配与动态资源调配

Configuration 配置的静态资源调配与动态资源调配,configuration,chef-infra,consul,Configuration,Chef Infra,Consul,我试图为一个新项目找到一个合适的配置管理工具。我遇到领事。在回答我的问题之前,我想引用佩奇领事的话: 可以将配置管理工具提供的静态配置移动到动态密钥/值存储中。这使得应用程序配置可以在不进行缓慢收敛运行的情况下进行更新 它还说: 也就是说,concur并不是配置管理工具的替代品。这些工具对于设置应用程序(包括领事本身)仍然至关重要。静态资源调配最好由现有工具管理,而动态状态和发现最好由Consor管理 资料来源: 我的理解是,concur是一个动态配置管理工具,而且速度很快。但我的问题是,它与c

我试图为一个新项目找到一个合适的配置管理工具。我遇到领事。在回答我的问题之前,我想引用佩奇领事的话:

可以将配置管理工具提供的静态配置移动到动态密钥/值存储中。这使得应用程序配置可以在不进行缓慢收敛运行的情况下进行更新

它还说:

也就是说,concur并不是配置管理工具的替代品。这些工具对于设置应用程序(包括领事本身)仍然至关重要。静态资源调配最好由现有工具管理,而动态状态和发现最好由Consor管理

资料来源:

我的理解是,concur是一个动态配置管理工具,而且速度很快。但我的问题是,它与chef这样的静态配置管理工具有什么不同


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

其实并不是说快或慢。Chef/Ansible/Puppet等的问题在于,这些系统通常定期运行,例如每30分钟运行一次

因此,如果一个节点发生更改(或被添加/删除),可能需要30分钟,直到所有其他节点都注意到这一点(无论是相互找到的应用程序服务器还是数据库服务器)

领事(也许是)在这里要快得多,有点直接。所有连接的便笺都会收到更改通知。但是,它不提供上述配置管理工具的原语


因此,两者的结合也是有效的。Chef/Puppet/Ansible/等来安装软件包并编写大部分配置,再加上用于快速移动部件的Consor(或etcd)。

其实并不是说快或慢。Chef/Ansible/Puppet等的问题在于,这些系统通常定期运行,例如每30分钟运行一次

因此,如果一个节点发生更改(或被添加/删除),可能需要30分钟,直到所有其他节点都注意到这一点(无论是相互找到的应用程序服务器还是数据库服务器)

领事(也许是)在这里要快得多,有点直接。所有连接的便笺都会收到更改通知。但是,它不提供上述配置管理工具的原语


因此,两者的结合也是有效的。Chef/Puppet/Ansible/etc.安装软件包并编写大部分配置,加上用于快速移动部件的Consor(或etcd)。

这是我在这个问题上的0.05美元: 如果您在一些云服务器上拥有动态基础设施,即偶尔创建和销毁的服务器(“临时服务器”),通常是为了满足不断变化的负载,那么concur是一个很好的工具:可以启动这些服务器,并在启动时从concur读取它们的配置

理想情况下,在这个用例中,您将启动一个根据需要定制的预烘焙服务器。例如,您的服务器在启动时需要有concur。您可以使用Ansible将领事预烘焙到服务器中

所以过程是这样的:

  • 你为你的服务器创建了一个模板,里面有你需要的所有东西(库、应用、领事等等)。您可以使用Ansible来执行此操作。这只需完成一次(每个模板)
  • 您可以使用云启动这些模板,当它们启动时,它们上的concur客户端从concur集群获得一些额外的配置值(每次启动服务器时都会发生这种情况)

  • 这是我在这个问题上的0.05美元: 如果您在一些云服务器上拥有动态基础设施,即偶尔创建和销毁的服务器(“临时服务器”),通常是为了满足不断变化的负载,那么concur是一个很好的工具:可以启动这些服务器,并在启动时从concur读取它们的配置

    理想情况下,在这个用例中,您将启动一个根据需要定制的预烘焙服务器。例如,您的服务器在启动时需要有concur。您可以使用Ansible将领事预烘焙到服务器中

    所以过程是这样的:

  • 你为你的服务器创建了一个模板,里面有你需要的所有东西(库、应用、领事等等)。您可以使用Ansible来执行此操作。这只需完成一次(每个模板)
  • 您可以使用云启动这些模板,当它们启动时,它们上的concur客户端从concur集群获得一些额外的配置值(每次启动服务器时都会发生这种情况)