标签:yam 状态 模块 function read status 特殊 minion 文件的
1、salt-master的配置文件编写格式之YAML语法说明YAML语法数据的结构通过缩进来表示,每一级用两个空格来表示缩进,如果有下一
级结构需要以冒号结尾,连续的列表通过减号“-”来表示,减号后面需要有空格,不
是以冒号结尾的冒号后面需要有空格。
# vim /etc/salt/master +416
416 file_roots: #告诉salt状态文件的位置
417 base: #base为必须存在的,
418 - /srv/salt/base #base状态对应的文件位置
说明:/etc/salt/master 配置文件的格式是采用YAML的格式写的,所以修改需要注意
每个缩进级别由两个空格组成,不支持tabs键,有下一个级别需要以冒号结尾,列表
用“-”减号开头,注意减号后面需要有一个空格。
创建/etc/salt/master配置文件里状态文件目录:
# mkdir /srv/salt/base
修改配置后重启salt-master:
# systemctl restart salt-master
重启后测试salt-master与salt-minion端的通讯
# salt ‘linux-node1‘ test.ping
linux-node1:
True #确定能成功通讯
# cd /srv/salt/base
# vim apache.sls #状态文件的名字
apache-install: #安装状态的ID声明
pkg.installed: #pkg为状态模块,installed是pkg模块下的方法(即安装)
- name: httpd #installed方法的参数,name是一个特殊的参数(安装的东西)
注:以上整个状态的意思为:{应该有一个httpd服务,如果有则啥也不干,如果没有则下载一个}
apache-service: #服务状态的ID
service.running: #service是状态模块,running是service模块下的方法(running即启动)
- name: httpd #方法的目标参数(启动的目标)
- enable: True #目标参数的动作(是否启动True则表示启动)
注:以上状态意思为{如果有httpd这个服务则启动httpd,如果没有httpd这个服务,就下载一个httpd并启动httpd}
执行这个apache状态:
[root@linux-node1 base]# salt ‘linux-node1*‘ state.sls apache
linux-node1: #minion端ID
----------
ID: apache-install #状态的ID
Function: pkg.installed #模块.模块的方法
Name: httpd #参数
Result: True #True为成功
Comment: Package httpd is already installed. #描述信息
Started: 22:25:05.529566 #启动时间
Duration: 1274.843 ms #用了多少秒
Changes: #如果下东西了会有输出
----------
ID: apache-service
Function: service.running
Name: httpd
Result: True
Comment: Service httpd is already enabled, and is in the desired state
Started: 22:25:06.805143
Duration: 268.049 ms
Changes: #都做了啥
----------
httpd:
True #启动了httpd
Summary
------------
Succeeded: 2 #成功了两个
Failed: 0
------------
Total states run: 2
执行之后即可到目标服务器去查看apache的启动装了,或者使用salt查看目标服务器的apache状态
# salt "linux-node1" cmd.run "systemctl status httpd" #在salt-master端用此命令查看apache启动状态
本次就更新到这里,请关注后续更新,如有问题欢迎指出与交流。
自动化运维工具之SaltStack-2、SaltStack配置管理
标签:yam 状态 模块 function read status 特殊 minion 文件的
原文地址:http://blog.51cto.com/12217917/2061576