Saltstack概述
Salt一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.
参考中文文档:http://docs.saltstack.cn/zh_CN/latest/topics/tutorials/starting_states.html
参考英文文档:https://docs.saltstack.com/en/latest/
配置文档https://repo.saltstack.com/#rhel
Saltstack运行模式:
Local
Master/Minion
Salt SSH
Saltstack三大功能:
远程执行(执行远程命令)
配置管理(状态管理)
云管理
Saltstack部署环境准备:
salt master服务端安装
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
yum install salt-master
systemctl enable salt-master.service
systemctl start salt-master.service
salt minion客户端安装
centos7.x
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
yum install salt-minion -y
sed -i 's/#master: salt/master: 172.16.8.68/g' /etc/salt/minion
grep -n '^master' /etc/salt/minion
更改minion端IP地址
sed -i 's/#id:/id: 172.16.8.68/g' /etc/salt/minion
grep -n '^id' /etc/salt/minion
systemctl enable salt-minion.service
systemctl start salt-minion.service
centos6.x
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el6.noarch.rpm
yum install salt-minion -y
sed -i 's/#master: salt/master: 172.16.8.68/g' /etc/salt/minion
grep -n '^master' /etc/salt/minion
更改minion端IP地址
sed -i 's/#id:/id: 172.16.8.68/g' /etc/salt/minion
grep -n '^id' /etc/salt/minion
chkconfig salt-minion on
service salt-minion start
执行命令
salt \* test.ping
salt \* cmd.run 'df -h'
salt \* grains.items
创建角色执行权限(两种方法)
vi /etc/salt/minion
grains:
roles:
- openstack
或者
vi /etc/salt/grains
roles: openstack
systemctl restart salt-minion.service
salt -G 'roles:openstack' cmd.run 'df -h'
查看角色
salt \* grains.item roles
pillar数据库系统使用方法
vi /etc/salt/master
#pillar_opts: False
修改为:
pillar_opts: True
/etc/init.d/salt-master restart
salt \* pillar.items
salt \* grains.item virtual server_id serialnumber productname cpu_model hwaddr_interfaces osrelease osfullname mem_total num_cpus num_gpus
vi /etc/salt/master
pillar_roots:
base:
- /srv/pillar
mkdir /srv/pillar
/etc/init.d/salt-master restart
Saltstack配置管理
file_roots:
base:
- /srv/salt
mkdir /srv/salt -p
yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install salt-minion -y
systemctl enable salt-minion.service
sed -i 's/#master: salt/master: 172.16.8.118/' /etc/salt/minion
grep -n '^master:' /etc/salt/minion
IP=`ifconfig |grep "inet"|grep -v "inet6"|grep -v "127.0.0.1" |awk '{print $2}'`
sed -i 's/#id:/id: '$IP'/' /etc/salt/minion
grep -n '^id' /etc/salt/minion
systemctl restart salt-minion.service