1.是一个基础平台管理工具
2.是一个配置配置管理系统,能够维护预定义状态的远程节点
3.是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据
远程执行
配置管理(状态)
云管理
成都创新互联公司致力于互联网品牌建设与网络营销,包括做网站、成都网站设计、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队十年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
master 192.168.13.131
web01 192.168.13.132
web02 192.168.13.133
##添加主机名,三台机器都要添加,并且主机要改成相应的名称
[root@master ~]# vim /etc/hosts
192.168.13.131 master.saltstack.com
192.168.13.132 web01.saltstack.com
192.168.13.133 web02.saltstack.com
#每台都需要关闭防火墙
[root@master ~]# systemctl stop firewalld.service
[root@master ~]# setenforce 0
[root@master ~]# vim /etc/hostname
master.saltstack.com
[root@web01 ~]# vim /etc/hostname
web01.saltstack.com
[root@web02 ~]# vim /etc/hostname
web02.saltstack.com
#安装epel源(三台都要装)
[root@master ~]# yum install -y epel-release
[root@master ~]# yum -y install salt-master
[root@master ~]# vim /etc/salt/master ##修改配置文件
15行 interface: 192.168.13.131 //监听地址
215行 auto_accept: True //避免要运行salt-key来确认证书认证
416行 file_roots:
base:
- /srv/salt //saltstack文件根目录位置,目录需要创建
710行 组分类:
nodegroups:
group1: 'web01.saltstack.com' ##后端服务器域名
group2: 'web02.saltstack.com'
552行 pillar_opts: True //开启pillar功能,同步文件功能
529行
pillar_roots:
base:
- /srv/pillar //pillar的主目录,需要创建
[root@master ~]# mkdir /srv/salt ##创建saltstack文件根目录
[root@master ~]# mkdir /srv/pillar ##创建pillar的主目录
[root@master ~]# systemctl start salt-master.service ##开启服务
[root@master ~]# netstat -ntap | egrep '4505|4506' ##查看端口
tcp 0 0 192.168.13.131:4505 0.0.0.0:* LISTEN 45899/python
tcp 0 0 192.168.13.131:4506 0.0.0.0:* LISTEN 45915/python
[root@web01 ~]# yum -y install salt-minion ##安装salt-minion
[root@web01 ~]# vim /etc/salt/minion ##修改配置文件
16行 master: 192.168.13.131 //指定主控端IP
78行 id: web01.saltstack.com //指定被控端主机名(web2就写web02.saltstack.com)
[root@web01 ~]# systemctl start salt-minion.service ##开启服务
[root@master ~]# salt '*' test.ping
web02.saltstack.com:
True
web01.saltstack.com:
True
[root@master ~]# salt '*' cmd.run 'df -h' ##查看后台web的挂载情况
查看被控主机上grains所有值:(每次minion在启动是都会获取客户端信息)
[root@master ~]# salt 'web01.saltstack.com' grains.items (静态数据信息)
[root@master ~]# salt 'web01.saltstack.com' pillar.items (动态数据信息)
[root@master ~]# salt-key ##查看认证的主机信息
Accepted Keys:
web01.saltstack.com
web02.saltstack.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:
##修改配置文件
vim /etc/salt/master // 打开下面的选项,之前已经开启并且创建过目录
file_roots:
base:
- /srv/salt/
mkdir /srv/salt
注意:环境: base、dev(开发环境)、test(测试环境)、prod(生产环境)。
[root@master ~]# vim /srv/salt/top.sls ##编写管理性文件
base:
'*': ##所有主机
- apache ##指定apache文件
[root@master ~]# vim /srv/salt/apache.sls
apache-service:
pkg.installed:
- names: ##安装的服务
- httpd
- httpd-devel
service.running:
- name: httpd ##服务开启
- enable: True
[root@master ~]# systemctl restart salt-master.service ##重启服务
[root@master ~]# salt '*' state.highstate ##执行操作
[root@web01 ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@web01 ~]# netstat -ntap | grep 80
tcp6 0 0 :::80 :::* LISTEN 6786/httpd
[root@web02 ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@web02 ~]# netstat -ntap | grep 80
tcp6 0 0 :::80 :::* LISTEN 6759/httpd