在Salt中管理自定义的机器特定配置文件

时间:2016-03-21 14:43:56

标签: chef ansible puppet salt configuration-management

我对大型基础架构的配置管理工具相对较新。该公司将使用Salt用于Linux和Windows,但我想这个问题与特定工具无关。

我没有得到的是,让我们假设我们在云中安装了30台机器,并为每台机器安装了几个自定义服务。版本可能会有所不同,具体取决于客户订阅。每个服务都有一个配置文件,可以有机器特定的数据。如何使用Salt或Puppet,Chef,Ansible类工具更新这些服务的配置文件。

2 个答案:

答案 0 :(得分:2)

我不了解Salt,但一般来说,配置管理工具中有几组主机,它们具有相同的配置,模板和变量,可用于每台机器的自定义 例如,您可以为port=8888指定变量host1,为port=9999指定host2,但nginx-template将是这样的:

server {
        listen       {{port}};
       }

两台服务器。 与机器特定数据示例相同的想法(ansible):

- name: start container with mon
  docker:
    name: test-mongo
    state: reloaded
    image: mongo
  when: master_ip == ansible_default_ipv4.address

其中master_ip是我的变量,而ansible_default_ipv4.address是ip,其中ansible连接到此主机。

希望这会有所帮助。

答案 1 :(得分:1)

使用Chef,您可以使用Erb模板进行配置,并在大多数情况下基于节点属性进行插值。这些可以直接在节点本身上设置,或者您可以为每个客户创建一个角色并在那里设置客户特定的属性数据。