SaltStack自动化运维管理(一)——简介与部署

1. saltstack简介

  • saltstack是一个配置管理系统,能够维护预定义状态的远程节点。
  • saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
  • saltstack是运维人员提高工作效率、规范业务配置与操作的利器。
  • Salt的核心功能
    • 使命令发送到远程系统是并行的而不是串行的
    • 使用安全加密的协议
    • 使用最小最快的网络载荷(因为是使用消息队列通信)
    • 提供简单的编程接口
  • Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

saltstack通信机制

SaltStack 采用 C/S模式,minion与master之间通过ZeroMQ消息队列通信,默认监听4505端口。

在这里插入图片描述

Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口。

在这里插入图片描述

2. saltstack安装与配置

官网:https://www.saltstack.com/

官方文档:https://docs.saltstack.com/en/latest/

这里暂时先准备三台虚拟机来做此次实验(server1,server2,server3),配置虚拟机可以上网(配置方法点击这里)。

2.1 设置官方YUM仓库

在server1,server2,server3上:

cd /etc/yum.repos.d/
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm
yum clean all
yum repolist
yum list salt-master

在server1上安装salt-master

yum install -y salt-master

在server2和server3上安装salt-minion

yum install -y salt-minion

2.2 master端设置

在server1:

systemctl enable salt-master	#设置master自启动
systemctl start salt-master		#启动master服务
netstat -antlp					#查看端口

在这里插入图片描述

ps ax
yum install -y python-setproctitle.x86_64
systemctl restart salt-master
ps ax

在这里插入图片描述

在这里插入图片描述

2.3 minion端配置

在server2和server3:

vim /etc/salt/minion
master: 172.25.1.1				#设置master主机的ip
systemctl enable salt-minion
systemctl start salt-minion
netstat -antlp					#查看端口

在这里插入图片描述
在这里插入图片描述

2.4 master端执行命令允许minion连接

salt-key -L
salt-key -A
salt-key -L

在这里插入图片描述

yum install -y lsof
lsof -i :4505

在这里插入图片描述

salt '*' test.ping
salt server2 test.ping
salt server3 test.ping
salt -E 'server[1-4]' test.ping
salt -E 'server[1-4]' cmd.run hostname
salt -E 'server[1-4]' cmd.run df
salt -E 'server[1-4]' cmd.run 'df -h'

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意:如果在master端找不到minion端,可能的原因有两个:

  • 防火墙有问题,可以将防火墙关闭
  • minion主机名修改后,master端无法及时知晓,可以将minion端/etc/salt/路径下的
    minion_id文件删掉,再重启minion端即可

到此,一个简单的SaltStack自动化运维管理系统就部署好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章