返回

ansible扛不住啦!用SaltStack轻松管理一万台

发布时间:2022-11-21 12:43:44 293
# 服务器# vim# 数据# 服务器# 工具

重点知识

是什么?

集中管理主机的应用服务,可实现对被管理主机,批量分发文件、采集服务器数据、操作系统及软件包管理、监控状态等功能。

为什么,选择我?

方便 基于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

报错:网络问题,导致个别包下载失败

ansible扛不住啦!用SaltStack轻松管理一万台_ssh

 

解决:重新安装下载失败的包,问题依然没有解决,启动服务报错,找不到salt目录

ansible扛不住啦!用SaltStack轻松管理一万台_python_02

 

ansible扛不住啦!用SaltStack轻松管理一万台_运维_03

 

重新安装

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秘钥

ansible扛不住啦!用SaltStack轻松管理一万台_yum源_04

 

接受minion的秘钥:

ansible扛不住啦!用SaltStack轻松管理一万台_服务器_05

 

再次查看秘钥列表:

ansible扛不住啦!用SaltStack轻松管理一万台_运维_06

 

2、 常用命令1)探测minion主机存活命令

ansible扛不住啦!用SaltStack轻松管理一万台_yum源_07

 

salt 是一个命令

‘minion’ 表示目标主机,可以用​​*​​代表所有目标主机

test.ping是salt远程执行的一个模块下面的方法。

原理:探测minion主机存活命令,也是远程执行命令,通过master发送消息给"*"所有的minion,并且告诉其运行salt内置的命令(也是python模块中的一个函数),返回true表示slave机器监控存活。

2)远程主机打印grains,注意:可以用双引号,也可以用单引号。

ansible扛不住啦!用SaltStack轻松管理一万台_服务器_08

 

3)安装Nginx:

ansible扛不住啦!用SaltStack轻松管理一万台_python_09

 

4)查看是否有以yum安装的Nginx服务;卸载Nginx

ansible扛不住啦!用SaltStack轻松管理一万台_yum源_10

 

3、 编写States,执行批量任务

ansible扛不住啦!用SaltStack轻松管理一万台_yum源_11

 

执行:

ansible扛不住啦!用SaltStack轻松管理一万台_服务器_12

 

多任务处理报错:

ansible扛不住啦!用SaltStack轻松管理一万台_服务器_13

 

解决:分析这个服务名不合法,查看创建的States,发现,少了- name:列表项,添加即可!

ansible扛不住啦!用SaltStack轻松管理一万台_服务器_14


 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线