配置管理
1.saltstack 使用 jinja 模板批量修改 DNS
1.1 指定master入口
[root@master ~]# vi /etc/salt/master
#将下面的注释打开
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
prod:
- /srv/salt/prod
[root@master ~]# systemctl restart salt-master.service
1.2 创建工作目录
## 基础环境
[root@master ~]# mkdir /srv/salt/base
## 开发环境
[root@master ~]# mkdir /srv/salt/prod
## 测试环境
[root@master ~]# mkdir /srv/salt/test
1.3 dns 方法文件
## 在基础环境中编写 dns 配置方法文件
[root@master base]# cat /srv/salt/base/dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://file/resolv.conf
- user: root
- group: root
- mode: 644
## 将 resolv.conf 文件设置为模板
- template: jinja
## 定义一个变量
- defaults:
DNS_SERVER: 114.114.114.114
1.4 准备配置管理所需文件
## 准备配置文件存放目录,与配置方法 sls 文件对应
[root@master ~]# mkdir /srv/salt/base/file
[root@master ~]# cp /etc/resolv.conf /srv/salt/base/file/
## 编辑准备配置的模块文件,变量值可在配置方法 sls 文件中声名
[root@master ~]# cat /srv/salt/base/file/resolv.conf
## config dns for master,使用配置方法文件中的变量
nameserver {{DNS_SERVER}}
search master
1.5 top.sls 文件修改
[root@master ~]# cat /srv/salt/base/top.sls
base:
'*':
- dns
1.6 执行配置修改操作
[root@master ~]# salt '*' state.highstate