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.130salt-master
受控机192.168.2.128salt-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轻松管理一万台的主要内容,如果未能解决你的问题,请参考以下文章

高并发解决思路

厉害了!我的哥!不懂自动化运维ansible你就out啦!

Saltstack安装

千亿数据扛不住,三思后还是从MySQL迁走了……

ansible 简单入门与使用

九成工业公司扛不住网络攻击