前言--需要思考的几个问题:
saltstack是什么?
我们可以用saltstack做什么?
saltstack未来的发展趋势?
带着问题开始驰骋
1、这个由Python开发的自动化运维工具,可以写强大的运维平台哟!
2、接下来我们看看安装与配置
master端安装
yum -y install salt-master //安装就是这么简单
minion端安装
yum -y install salt-minion
master端配置
vi /etc/salt/master
interface: 192.168.24.66
auto_accept: True
file_roots: //定义salt工作根目录
base:
- /srv/salt
minion端配置
vi /etc/salt/minion
master: 192.168.24.66
id: 192.168.24.68
3、是的安装配置就是这么简单,下面启动服务,让他跑起来
master端
/etc/init.d/salt-master start
minion端
/etc/init.d/salt-minion start
4、查看keys状态,并添加minion keys
[root@localhost ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
192.168.24.67
192.168.24.68
Rejected Keys:
[root@localhost ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
192.168.24.67
192.168.24.68
Proceed? [n/Y] Y
Key for minion 192.168.24.67 accepted.
Key for minion 192.168.24.68 accepted.
再次查看,已经在列表中了
[root@localhost ~]# salt-key -L
Accepted Keys:
192.168.24.67
192.168.24.68
Denied Keys:
Unaccepted Keys:
Rejected Keys:
5、执行test.ping测试是否成功
此处踩过的坑
salt-key -A 这个添加后,在master端/etc/salt/pki/master/minions下会生成minion的公钥文件
同时minion端/etc/salt/pki/minion下也会生成master的公钥文件minion_master.pub,其实这就是
一个互信的过程。此处有坑
[root@localhost minion]# salt ‘*‘ test.ping
192.168.24.67:
Minion did not return. [No response]
192.168.24.68:
Minion did not return. [No response]
需要将在master端执行salt-key -D,去除一下keys。将minion端/etc/salt/pki/minion 此目录下文件清理掉。然后启动minion端服务,不需要执行其他操作,如下就成功。---此处是经验(删除minion端文件/etc/salt/pki/minion/minion_master.pub,再启动minion端服务)
[root@localhost minions]# salt ‘*‘ test.ping
192.168.24.67:
True
192.168.24.68:
True
6、其实此时我们已经跑起来了,可以去做我们想做的事情了
你的最爱(是的,使用模块cmd.run你想在客户端执行啥命令都行)
[root@localhost ~]# salt ‘*‘ cmd.run ‘df -h‘
192.168.24.67:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 93G 4.5G 84G 6% /
tmpfs 1.9G 12K 1.9G 1% /dev/shm
/dev/sda1 190M 146M 31M 83% /boot
192.168.24.68:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 93G 4.5G 84G 6% /
tmpfs 1.9G 12K 1.9G 1% /dev/shm
/dev/sda1 190M 146M 31M 83% /boot
7、使用模块cmd.run 在生产环境一些敏感命令不建议使用
salt ‘*’ cmd.run ‘rm -rf /’ //分分钟,玩死所有服务器
------------------------------------------------------------
ok,前面是初步认识,接下来我们做点儿有意义的事情
8、写几个状态文件,让我们探索一下他的趣事
[root@localhost salt]# cd /srv/salt/
[root@localhost salt]# vim zabbix.sls
zabbix_agent: pkg.installed: - name: zabbix22-agent file.managed: - name: /etc/zabbix_agentd.conf - source: salt://zabbix_agentd.conf - user: root - group: root - mode: 644 service.running: - name: zabbix_agentd - enable: True - watch: - file: zabbix_agent
9、运行文件
[root@localhost salt]# salt ‘*‘ state.sls zabbix
安装成功
[root@localhost minion]# rpm -qa | grep zabbix
zabbix22-agent-2.2.11-1.el6.x86_64
zabbix22-2.2.11-1.el6.x86_64
[root@localhost minion]# ll /etc/zabbix_agentd.conf
-rw-r--r--. 1 root root 5978 Jul 3 13:09 /etc/zabbix_agentd.conf
10、此刻你也许已经对他有好感了,开始想了解更多关于他的事,先戛然而止______
-----------未完待续------------
本文出自 “不在灯火阑珊处” 博客,请务必保留此出处http://tianruyun.blog.51cto.com/4549660/1795276
原文地址:http://tianruyun.blog.51cto.com/4549660/1795276