使用Saltstack进行集群管理

IndexyzIndexyz 话题数:16会员

各位dalao手上肯定有很多的 独服/VPS 吧
配置统一管理和版本升级一直是个很困难事情 而机器越多这个难度就越大

例如飞机场节点的管理 服务端经常发新的版本 而dalao的机场又有几十个节点 一个个ssh上去然后git pull太费时间也非常无聊

从前我是使用 fabric 来部署我的服务 虽然简单了一点 但还是非常复杂 直到我遇见了 saltstack

本文是面向萌新正常人群的教程 我已经在教程中讲的尽量详细并且简单了

环境部署

首先我们需要台服务器作为管理的服务器
在主服务器上执行 以下命令就可以安装 salt 的master了

curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M -N

当然 去掉了 -N 参数之后就可以安装salt的minion在同一台机器上

部署子节点

运行以下指令 (替换{Master的IP}) 即可部署minion

curl -SL curl -SL https://github.com/Indexyz/salt/raw/master/script/install.sh | sh -s -- {Master的IP}

在Master上运行

salt-key -A

并输入y来接受子节点的链接

使用

我自己写了一些脚本 储存在 GitHub 欢迎点星星哦

配置文件

编辑/etc/salt/master
找到

#pillar_roots:
#  base:
#    - /srv/pillar

删除前面的#来启用pillar

使用以下命令来使用我的脚本库

cd /
git clone https://github.com/Indexyz/salt/ srv

编辑 /srv/pillar 下的文件来修改配置

部署

salt '*' state.highstate

全部节点部署集成设施 (将*替换为salt-key时显示的主机名即可在单独的主机部署)

salt 'salt-minion' grains.setval 'node' 1

这样把 salt-minion 主机的 node 值设为了1 这个值在安装魔改的后端的时候有用到 意为节点id

salt 'salt-minion' state.sls shadowsocks-backend.create

这样为salt-minion安装了魔改的后端

salt '*' state.sls shadowsocks-backend.upgrade
# 在 Centos 7, Debian 7,8, Archlinux 2017.05 测试通过

这样会将全部的节点的后端同步到git上的最新版本

salt 还有许多的玩法 比如自己编写salt的部署文件什么的 dalao想要定制脚本? 来和我py吧
关于更深层的概念 可以选择官方的文档 也可以选择Google一下
这里应该只算安利saltstack和自己的脚本吧~

此话题使用的标签:

评论

登录注册后才能评论。