自动化运维神器之saltstack (二)文件服务器
## 使用pillar之前要在master中配置pillar的工作目录,将下面三行的注释打开# vi /etc/salt/master
pillar_roots:
base:
- /srv/pillar
## 重启master服务
# /etc/init.d/salt-master restart
Stopping salt-master daemon:
Starting salt-master daemon:
## 创建所需目录
# mkdir/srv/pillar/
## 该目录用来测试使用
# mkdir/srv/pillar/user
## 首先在/srv/pillar目录中要有一个入口文件top.sls
# vi top.sls
base:
'uadoop2':
- data ## 为uadoop2定义了一个属性数据,引用了跟top.sls同目录下的data.sls
'uadoop3':
- webserver ## 为uadoop3定义了一个属性数据,引用了跟top.sls同目录下的web.sls
'*':
- user ## 为所有节点定义了一个属性数据,引用了/srv/pillar/user/init.sls
## 这里指定的是一个目录,salt会自动在top.sls文件中的引用目录中寻找状态文件
## 因此会找到位于user目录中的init.sls文件
## 编写在top.sls文件中引用的状态文件
# vi data.sls
data: some data
# vi webserver.sls
webserver: test_dir
# vi user/init.sls
users:
kora: 1000
kadefor: 1100
foway: 1200
## 接着将master上定义的属性同步到对应的minion上去
# salt '*' pillar.items
uadoop3:
----------
master:
----------
auth_mode:
1
auto_accept:
False
.............省略N行..............
worker_threads:
5
webserver:
test_dir
users:
----------
foway:
1200
kadefor:
1100
kora:
1000
uadoop2:
----------
data:
some data
master:
----------
auth_mode:
1
.............省略N行..............
worker_threads:
5
users:
----------
foway:
1200
kadefor:
1100
kora:
1000
## 在master上远程获取刚刚定义的属性
# salt 'uadoop2' pillar.item data
uadoop2:
----------
data:
some data
# salt 'uadoop3' pillar.item webserver
uadoop3:
----------
webserver:
test_dir
# salt '*' pillar.item users
uadoop2:
----------
users:
----------
foway:
1200
kadefor:
1100
kora:
1000
uadoop3:
----------
users:
----------
foway:
1200
kadefor:
1100
kora:
1000
## 可以看到刚刚为不同的minion定义的属性已经同步到了各个minion上,从这个测试可以看出,使用pillar
## 我们可以为不同的minion或者不同的minion组定义不同的属性,极其灵活。
页:
[1]