共计 2080 个字符,预计需要花费 6 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 saltstack 如何初始化 minion,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
很多人会在 saltstack 和 ansible 之间纠结一个问题,,到底是 saltstack 好,还是 ansible 好,首先,我们先要意识到他们之间的优缺点,
saltstack 它是基于 zero mq 消息系统,能够实现高并发(理论上,一台 salt-master 可并发一千台 minion,在短时内可执行完毕),而 ansible 是基于 ssh,每次请求都需要先建立 ssh 连接,所以效率低下,但是它不需要安装客户端,而 saltstack 需要安装客户端即 saltstack minion,该文章围绕着 saltstack 如何快速部署 minion 客户端
首先,假设一个场景,我们在某云(阿里云 / 腾讯云,等云厂家)里买了一台云主机(该主机绑定了 salt-master 的密钥),要怎么样才能让这台主机(minion),能够被 salt-master 所管理?我们可以写一个脚本专门去初始化 minon,并且该脚本必须要在 salt-master 这台机器上执行
当前环境
IP 地址 主机名 角色
10.0.0.61 m01 salt-master
10.0.0.8 web01 新初始化的主机
1、minion 初始化脚本如下
#!/bin/bash
Host=$1
sshpass= /usr/bin/sshpass
# 判断脚本传参个数
if [ $# -ne 1 ];then
echo Please input use args {host}
exit 1
# 先判断目标主机是否可达
ping -c 3 -W 1 ${Host} /dev/null 2 1
if [ $? -ne 0 ];then
echo 目标主机 ${Host} 不可达
exit 1
echo 目标主机 ${Host} 可达
# 添加 salt rpm 源
DATA1= ls /etc/yum.repos.d/salt-py3-*.repo
${sh4pass} ssh ${Host} -o StrictHostKeyChecking=no ${DATA1} /dev/null 2 1
if [ $? -eq 0 ];then
echo salt-minion rpm 包已安装
exit 1
echo salt-minion rpm 包未安装
DATA2= sudo yum install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-2019.2.el7.noarch.rpm
${shpass} ssh ${Host} -o StrictHostKeyChecking=no ${DATA2} /dev/null 2 1
if [ $? -eq 0 ];then
echo 添加 salt rpm 源 - ${DATA2} 成功
echo 添加 salt rpm 源 - ${DATA2} 失败
exit 1
# 安装 salt-minion
DATA3= yum install -y salt-minion
${shpass} ssh ${Host} -o StrictHostKeyChecking=no ${DATA3} /dev/null 2 1
if [ $? -eq 0 ];then
echo 安装 salt-minion - ${DATA3} 成功
echo 安装 salt-minion - ${DATA3} 失败
exit 1
# 修改 salt-minion 配置文件
DATA4= sed -i s@^#master:.*@master: 10.0.0.61@g /etc/salt/minion
echo 修改配置文件 ${DATA4}
${shpass} ssh ${Host} -o StrictHostKeyChecking=no ${DATA4} /dev/null 2 1
if [ $? -eq 0 ];then
echo 修改 salt-minion 配置文件 - ${DATA4} 成功
echo 修改 salt-minion 配置文件 - ${DATA4} 失败
exit 1
# 重启 salt-minion
DATA5= systemctl restart salt-minion
${shpass} ssh ${Host} -o StrictHostKeyChecking=no ${DATA5} /dev/null 2 1
if [ $? -eq 0 ];then
echo 重启 salt-minion - ${DATA5} 成功
echo 重启 salt-minion - ${DATA5} 失败
exit 1
fi
2、执行完脚本后
以上是“saltstack 如何初始化 minion”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!