一个空格 执行 动作 stat 位置 tac 语法 http 会有
1,salt-master 的配置文件编写格式之 YAML 语法说明
YAML 语法数据的结构通过缩进来表示,每一级用两个空格来表示缩进,如果有下一
级结构需要以冒号结尾,连续的列表通过减号 "-" 来表示,减号后面需要有空格,不
是以冒号结尾的冒号后面需要有空格.
2,修改 salt-master 配置文件
说明:/etc/salt/master 配置文件的格式是采用YAML的格式写的,所以修改需要注意
# vim /etc/salt/master +416
416 file_roots: #告诉salt状态文件的位置
417 base: #base为必须存在的,
418 - /srv/salt/base #base状态对应的文件位置
每个缩进级别由两个空格组成,不支持tabs键,有下一个级别需要以冒号结尾,列表
用"-"减号开头,注意减号后面需要有一个空格.
创建 / etc/salt/master 配置文件里状态文件目录:
#mkdir / srv / salt / base
修改配置后重启 salt-master:
#systemctl restart salt - master
重启后测试 salt-master 与 salt-minion 端的通讯
3,使用 salt 写一个自动化安装 apache 的状态并执行
# salt 'linux-node1' test.ping
linux-node1:
True #确定能成功通讯
注:以上整个状态的意思为:{应该有一个httpd服务,如果有则啥也不干,如果没有则下载一个}
# cd /srv/salt/base
# vim apache.sls #状态文件的名字
apache-install: #安装状态的ID声明
pkg.installed: #pkg为状态模块,installed是pkg模块下的方法(即安装)
- name: httpd #installed方法的参数,name是一个特殊的参数(安装的东西)
注:以上状态意思为{如果有httpd这个服务则启动httpd,如果没有httpd这个服务,就下载一个httpd并启动httpd}
apache-service: #服务状态的ID
service.running: #service是状态模块,running是service模块下的方法(running即启动)
- name: httpd #方法的目标参数(启动的目标)
- enable: True #目标参数的动作(是否启动True则表示启动)
执行这个 apache 状态:
执行之后即可到目标服务器去查看 apache 的启动装了,或者使用 salt 查看目标服务器的 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
#salt "linux-node1"cmd.run "systemctl status httpd"#在salt - master端用此命令查看apache启动状态
本次就更新到这里,请关注后续更新,如有问题欢迎指出与交流.
自动化运维工具之 SaltStack-2,SaltStack 配置管理
来源: http://www.bubuko.com/infodetail-2463673.html