自动化运维工具之SaltStack-2SaltStack配置管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化运维工具之SaltStack-2SaltStack配置管理相关的知识,希望对你有一定的参考价值。
1、salt-master的配置文件编写格式之YAML语法说明
YAML语法数据的结构通过缩进来表示,每一级用两个空格来表示缩进,如果有下一
级结构需要以冒号结尾,连续的列表通过减号“-”来表示,减号后面需要有空格,不
是以冒号结尾的冒号后面需要有空格。
2、修改salt-master配置文件
# 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 #确定能成功通讯
3、使用salt写一个自动化安装apache的状态并执行
# 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状态:
[[email protected] 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-2SaltStack配置管理的主要内容,如果未能解决你的问题,请参考以下文章