自动化运维管理技术之saltstack

https://www.saltstack.com/
三大功能: 远程执行
配置管理(状态)
云管理
Puppet + func ruby && ansible python && saltstack
四种运行方式:
Local
Minion/Master C/S
Syndic - zabbix proxy
Salt SSH
官方源:http://repo.saltstack.com/#rhel
#安装yum源

  sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm
常见的安装组建
安装salt-minion,salt-master或其他Salt组件:
sudo yum install salt-master
sudo yum install salt-minion
sudo yum install salt-ssh
sudo yum install salt-syndic
sudo yum install salt-cloud
sudo yum install salt-api

##########################################################################
实验环境准备了三台机器
master zf-200 192.168.0.200
yum install salt-master salt-minion #两个都安装
master zf-201 192.168.0.201 #被管理的主机
yum install salt-minion
master zf-202 192.168.0.202 #被管理的主机
yum install salt-minion
######################################################################
1 在192.168.0.200上执行 #master
systemctl start salt-master
vim /etc/salt/minion
第16行:master: 192.168.0.200 #指定minion的主机是谁
systemctl start salt-minion
2 另外两台minion主机上执行如下操作
vim /etc/salt/minion
第16行:master: 192.168.0.200 #指定minion的主机是谁
systemctl start salt-minion
#minion_id 一般都是主机名,修改时将原来minion_id删掉,重启则生成新的主机名
3 在master上查看是否识别到两台请求的minion

[root@zf-200 salt]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
zf-200
zf-201
zf-202
Rejected Keys:

#显示三台未接受密钥的主机,说明已经识别到了
4 将三台主机加入master
salt-key -a zf-200 y
salt-key -a zf-201 y
salt-key -a zf-202 y

[root@zf-200 salt]# salt-key
Accepted Keys:
zf-200
zf-201
zf-202
Denied Keys:
Unaccepted Keys:
Rejected Keys:

#说明加入成功
5 验证 连接是否成功
#salt "zf-20" test.ping*
[root@zf-200 salt]# salt "" test.ping
zf-201:
True
zf-202:
True
zf-200:
True
#返回True说明成功
在这里插入图片描述
#这个是查看三台机器的状态
[root@zf-200 salt]# salt '
’ cmd.run ‘mkdir /root/hello-zhangsan’
zf-201:
zf-202:
zf-200:
#分别在三台机器上创建目录/root/hello-zhangsan,能够看到目录说明成功。

2 State 你要写一个描述文件。 格式:YAML 后缀: .sls
YAML介绍 https://www.unixhot.com/docs/saltstack/topics/yaml/
YAML :三板斧
1.缩进 2个空格,不能用Tab
2.冒号 冒号后面有一个空格 key: value
3.短横线 - list1
- list2
配置YAML文件
vim /etc/salt/master #查找“ file_roots”
658 file_roots:
659 base:
660 - /srv/salt
#注意原来的空格
systemctl restart salt-master.service #重启服务
创建目录
mkdir -p /srv/salt/web #web目录表示安装的内容
cd /srv/salt/web
编写配置文件 (安装apache软件 )
vim apache.sls
apache-install: # 起一个名称
pkg.installed: #方法.模块名(安装软件的方法)
- names: #定义一个列表
- httpd #安装软件的名称
- httpd-devel #安装软件的名称

apache-service: # 起一个名称
service.running: #检查状态的方法
- name: httpd #检查状态的名称
- enable: True #返回的状态
#严格注意缩进格式
执行该文件
salt ‘*’ state.sls web.apache #执行文件的格式
在这里插入图片描述

#高级配置不同机器执行不同程序
vim top.sls
base:
‘zf-201’:
- web.apache
‘zf-202’:
- web.apache
#salt ‘’ state.highstate test=True #查看结果test=True 不生效
salt '
’ state.highstate #执行命令

 Succeeded: 3
Failed:    0
------------
Total states run:     3
Total run time:   3.272 s

猜你喜欢

转载自blog.csdn.net/weixin_43546282/article/details/91345722