ansible扛不住啦!用SaltStack轻松管理一万台
Posted Friends of the wind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible扛不住啦!用SaltStack轻松管理一万台相关的知识,希望对你有一定的参考价值。
重点知识
是什么?
集中管理主机的应用服务,可实现对被管理主机,批量分发文件、采集服务器数据、操作系统及软件包管理、监控状态等功能。
为什么,选择我?
方便 基于python开发的管理工具,方便二次开发
安全 使用SSL证书签发的方式进行认证管理,传输采用AES加密
强大 可以管理一万台服务器,相比ansible,只能管理1000台,更强大
怎么用?
运行管理方式四种:
local 本地运行
Master/Minion 传统C/S方式
Syndic 分布式,做一个总代理,接收各个服务器反馈的任务。
Salt ssh 类似于ansible不用安装代理程序,通过ssh协议管理
搭建SaltStack服务
主机角色 | IP | 应用 |
---|---|---|
控制机 | 192.168.2.130 | salt-master |
受控机 | 192.168.2.128 | salt-minion |
步骤:
控制机
1、 配置官方yum源
注意:要保证连接互联网,有基础baes,yum源,主机内存最好4G,否则,执行效率会很慢
rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/latest/SALTSTACK- GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
2、 安装
安装salt-master
提示:如果控制机相对来说,又是一个受控机,就需要安装salt-minion,本例不安装
yum install salt-master -y
报错:网络问题,导致个别包下载失败
解决:重新安装下载失败的包,问题依然没有解决,启动服务报错,找不到salt目录
重新安装
yum install salt-master -y
3、 配置salt-master
vim /etc/salt/master
interface: 0.0.0.0 #绑定到本地的0.0.0.0地址
publish_port: 4505 #管理端口,命令发送
user: root #运行salt进程的用户
worker_threads: 5 #salt运行线程数,线程越多处理速度越快,不要超过cpu个数
ret_port: 4506 #执行结果返回端口
pidfile: /var/run/salt-master.pid #pid文件位置
log_file: /var/log/salt/master #日志文件地址
auto_accept: False #禁止自动接收minion的key
保存退出,启动服务
systemctl start salt-minion
受控机
1、配置官方yum源,方法同上
2、 安装salt-minion
yum install salt-minion -y
3、 配置salt-minion
vim /etc/salt/minion
master: 192.168.2.130
master_port: 4506
user: root
id: slave
acceptance_wait_time: 10
log_file: /var/log/salt/minion
保存退出,启动服务:
systemctl start salt-minion
SaltStack操作管理
步骤:
1、 在master上接收minion秘钥
查看秘钥列表:当前显示,无接受的minion秘钥
接受minion的秘钥:
再次查看秘钥列表:
2、 常用命令
1)探测minion主机存活命令
salt 是一个命令
‘minion’ 表示目标主机,可以用*
代表所有目标主机
test.ping是salt远程执行的一个模块下面的方法。
原理:探测minion主机存活命令,也是远程执行命令,通过master发送消息给"*"所有的minion,并且告诉其运行salt内置的命令(也是python模块中的一个函数),返回true表示slave机器监控存活。
2)远程主机打印grains,注意:可以用双引号,也可以用单引号。
3)安装nginx:
4)查看是否有以yum安装的Nginx服务;卸载Nginx
3、 编写States,执行批量任务
执行:
多任务处理报错:
解决:分析这个服务名不合法,查看创建的States,发现,少了- name:列表项,添加即可!
以上是关于ansible扛不住啦!用SaltStack轻松管理一万台的主要内容,如果未能解决你的问题,请参考以下文章