目录
一、saltstack简介
1、简介
- saltstack是一个配置管理系统,能够维护预定义状态的远程节点。
- saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
- saltstack是运维人员提高工作效率、规范业务配置与操作的利器。
2、Salt的核心功能
- 使命令发送到远程系统是并行的而不是串行的
- 使用安全加密的协议
- 使用最小最快的网络载荷
- 提供简单的编程接口
Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。
3、Salt的通信机制
- Saltstack采用 C/S模式,由master和minion构成。master是服务器端,有一台服务器,minion是客户端,可以有多台服务器。master和minion之间是通过ZeroMQ(消息队列)进行通信的,默认监听4505端口。
- Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口。
- 4505为master和minion认证通信端口,4506为master用来发送命令或接收minion的命令执行返回信息。
- 当客户端启动后,会主动连接master端注册,然后一直保持TCP连接,master通过这条TCP连接对客户端进行控制。如果断开连接,master对客户端将不能进行控制。但是,当客户端检查到连接断开后,会定期向master端请求注册连接。
Master:控制中心,salt命令运行和资源状态管理端。
Minions:需要管理的客户端机器,会主动去连接master端,并从master端得到资源状态,同步资源管理信息。
二、saltstack安装与配置
1、配置yum源
- 官网:https://www.saltstack.com/
设置官方yum仓库:
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm
注意:官方源安装时间较长,所以我们采用阿里云的镜像。
[root@server1 yum.repos.d]# yum install https://mirrors.aliyun.com/saltstack/yum/redhat/salt-repo-latest-2.el7.noarch.rpm # 这里使用阿里云镜像,速度较快
[root@server1 yum.repos.d]# ls
redhat.repo salt-latest.repo yum.repo
[root@server1 yum.repos.d]# cat salt-latest.repo
[salt-latest]
name=SaltStack Latest Release Channel for RHEL/Centos $releasever
baseurl=https://repo.saltstack.com/yum/redhat/7/$basearch/latest
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key
2、配置master端
- 把server1作为master端:
yum install -y salt-master #安装master端
systemctl enable salt-master #设置master自启动
systemctl start salt-master #启动master服务
3、配置minion端
- 把server2作为minion端:
可以像server1一样配置yum仓库,也可以把server1中的文件发送的server2。
注意:需把server2中的gpgcheck改为0。
- 配置server2:
yum install -y salt-minion #安装minion端
vim /etc/salt/minion
##修改
master: 172.25.254.51 #设置master主机的ip
systemctl enable salt-minion
systemctl start salt-minion
4、master端执行命令允许minion连接
- 执行命令
salt-key -L ##查看所有链接
salt-key -a ##允许指定minion连接
salt-key -A ##允许所有minion连接
5、测试
- 查看连接
可以发现server2和server1连接了 - master端测试与minion端的连接: