SaltStack帮助文档
http://docs.saltstack.cn/genindex.html
SaltStack运行方式
1,Local
2,Master/Minion
3,Salt SSH
SaltStack 三大功能
1,远程执行
2,配置管理
3,云管理
SaltStack安装
主机:
yum install salt-master salt-minion -y
主机二:
yum install salt-minion -y
加入到开机启动:
chkconfig salt-master on
chkconfig salt-minion on
centos7的启动
systemctl start salt-master
centos6的启动
/etc/init.d/salt-master start
开始配置,告诉master是谁
vim /etc/salt/minion
16行 #master: salt
变成:master:47.104.154.42
78行#id:
变成主机名hostname:
id:didi-cloud
master启动:
centos7的启动
systemctl start salt-master
centos6的启动
/etc/init.d/salt-master start
minion启动:
systemctl start salt-minion.service
或者是
/etc/init.d/salt-minion start
salt认证
minion端
在minion端会生成minion.pem,和minion.pub
路径/etc/salt/pki/minion/
这是在minion第一次启动的时候生成的
这时我们需要把minion.pub发给master
master端
/etc/salt/pki/master
也会生成公钥和私钥
两边的防火墙都开启4505和4506端口
在master主机上查看
ll /etc/salt/pki/master/minions_pre
是否有你的minion主机
如果没有的话是添加失败的
1,检查防火墙
2,检查vim /etc/salt/minion minions的master ip
3,vim /etc/salt/minion id是不是本机的hostname
4,上述修改完后重启服务
在master主机上查看
ll /etc/salt/pki/master/minions_pre
是否有你的minion主机,如果有进行统一操作
salt-key 查看列表
salt-key -A 同意所有
salt-key -a linux* 同意以linux开头名字的主机
查看minions日志:
cat /var/log/salt/minion
同意之后查看是否成功
tree /etc/salt/pki/master
├── master.pem
├── master.pub
├── minions
│ └── didi-cloud
├── minions_autosign
├── minions_denied
├── minions_pre
└── minions_rejected
上面是成功的
已经成功将didi-cloud的主机公钥添加成功
master同意添加主机后不仅会保留minions的公钥,
也会将自己的公钥发送给minions
进入minions
我遇到的坑:
salt-key list 没有你的主机
解决:删除minions端的秘钥匙
重启minions的客户端,就会重新生成
这时候salt-key list看看会不会有
salt-key -D 删除所有的
salt-key -A 添加所有的主机
salt-key -a didi* 添加以didi主机名开头的
在minions查看错误日志
在master上就可以控制自己的主机了
输入salt-key --help 查看使用帮助
=======================
远程执行,进入实际功能
=======================
salt '*' cmd.run 'uptime'
打印如下信息
didi-cloud:
12:27:21 up 43 min, 1 user, load average: 0.00, 0.01, 0.05
salt '*' cmd.run 'df -h'
didi-cloud:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 3.6G 17G 18% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 497M 32K 497M 1% /dev/shm
tmpfs 497M 13M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/1001
cmd.run可以执行所有的命令,危险性比较大
说明可以控制远程的主机
vim编辑器中显示所有的空格
set list
更改master的配置文件:取消备注
vim /etc/salt/master
416 file_roots:
417 base:
418 - /srv/salt
注意:新建/srv/salt文件夹
base:前面两个空格
- srv/salt前面四个空格
禁止使用tab键,肯定报错
所有的配置文件都写在/srv/salt下
新建apache.sls
apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel
apache-service:
service.running:
- name: httpd
- enable: True
- reload: True
重启一下master服务
进入安装apache环节:
cd /srv/salt目录
新建apache.sls
运行这个sls脚本文件
salt '*' state.sls apache
SaltStack 的数据系统
Grains 收集主机信息
salt '10*' grains.items 显示所有的机器信息
salt '10*' grains.ls 显示所有的列表
高级匹配
salt -G os:CentOS cmd.run 'w'
-G 高级匹配
匹配os是CentOS的主机运行w命令
扩展:执行全部有什么服务的主机执行什么命令
Pillar
salt '*' pillar.items
vim /etc/salt/master
pillar_opts: True
systemctl restart salt-master
再次输入salt '*' pillar.items
就会有信息了
SaltStack远程执行的三大内容
REMOTE EXECUTION 远程执行
目标Targeting
模块Module
返回Returnners
刷新状态:salt '*' saltutil.refresh_pillar
验证远程某一个服务是否开启:
salt '*' service.available sshd
验证远程开启的所有的服务
salt '*' service.get_all
SaltStack运行安装笔记
猜你喜欢
转载自blog.csdn.net/weixin_36171533/article/details/81157327
今日推荐
周排行