原文 https://xabcloud.com/#/win-win
小矩阵的部署结构借鉴一生二二生三三生万物的思想
XABC 释放出来的源程序作为小矩阵运维管控平台部署源程序
源程序生成 Central 部署程序, Central 再生成 Login 和 Master 部署程序, Master 再生成 Minion (业务主机)初始化接入程序 init.sh
,随着业务展开 Master 的应用分组配置目录/srv/salt/group/
下将自动创建各自应用分组目录,各自应用日常配置管理在各自的目录下以SaltStack
或者Ansible
模版描述应用状态,实现对企业大量主机多个独立网络节点成千上万台主机高效安全运维管控的目的
|机器角色|最小配置|备注| |---|:---:|:---:| |Central|CentOS 7.4 64 位 [1 核 2G 1M 公网带宽]|默认系统盘 40G 左右即可| |Master|CentOS 7.4 64 位 [2 核 2G 1M 公网带宽]|根据生产实践 4 核 8G 的机器可安全管理 1000 台业务主机| |Login|CentOS 7.4 64 位 [1 核 1G 1M 公网带宽]|默认系统盘 40G 左右即可|
这是一个独立网络节点需要准备的 3 台机器资源,后续扩展管控第二个第三个等网络节点需要再从各自网络节点里出 Master 和 Login 即可( 后续会有扩展网络节点的详细说明 )
CentOS 7.4 64 位系统镜像,我们在腾讯云,阿里云,AWS 三个云服务商均有部署确认,一般情况只要是 CentOS 7.x 系列机器都可以落地部署
请确保以上 3 台机器网络通畅,不仅仅是 22,80,443 等默认安全组端口,平台运行还需要其他服务端口,请先确保 3 台机器网络全部通畅,待部署完后,会自动生成本地防火墙,所以先等平台部署完成后,再细化安全组防火墙的配置
请确认 3 台机器到位,并规划好机器角色 Central,Master,Login (各自机器的公网和内网 IP 需要记录好,步骤 2 配置文件需要使用)
获取核心配置文件本地保存 ---> 核心配置文件 ( 文件详情简单如下说明 )
/srv/pillar/central.sls 是小矩阵的核心配置文件;初始模版创建 Central 机器环境的时候,将以该文件的定义数据,生成小矩阵平台 Central,Master,Login 三种机器角色各项关键配置
核心配置 RSA 字段有三对 SSH 公私钥数据,你下载到的这份 central.sls 模版其中 ssh key pairs 段是单独为你生成,仅此一份( 每次请求即刻生成,请求完后即刻清理,当然如果不放心,可以根据例子结构,自己本地生成 RSA 段数据,对应替换即可 )
上面是生成的一份模版配置文件需要你手动编辑部分信息:
MATRIX:
timezone: Asia/Shanghai
central: 47.97.179.172 ( 你总控机器的公网 IP )
domain: 47.97.179.172 ( 平台域名,也可以上面保持一致 )
admin: admin@xabcloud.com ( 默认的管理员邮箱 )
number: 50
zone:
-
region: hz ( 网络区域字符串 )
Login: 47.98.235.72 ( Login 的公网 IP )
login: 172.16.3.176 ( Login 的内网 IP )
login_ip: 172.16.3.176 ( Login 的内网 IP )
master: 172.16.3.175 ( Master 的内网 IP )
master_ip: 172.16.3.175 ( Master 的内网 IP )
#这是企业微信应用设定,可编辑自己设定,默认的是我们自己的企业微信消息通知
WeChat:
id: wxd76cb69de7247ba0
secret: Zrdq_L0cXkAhFCZImcGVdIANI-PunGmb43lgH9pf7HM
toparty: 6
agentid: 9
请确保 central.sls 文件的结构不变,特别是空格字符,所以替换 IP 信息的时候,需要留意
# curl -s xabc.io/c|sh
,等待部署完成结果# curl -s xabc.io/m-xxx.xxx.xx.xx-网络区域|sh
(这里面的 xxx.xxx.xx.xx IP 信息等待第一步给出结果)# curl -s xabc.io/l-xxx.xxx.xx.xx-网络区域|sh
(这里面的 xxx.xxx.xx.xx IP 信息等待第一步给出结果)!>上面几行指令的简要说明 (细节上可以看具体指令内容) :
Central 基础软件系统的更新,安装了 OpenResty,Node,Redis,PostgreSQL 以及 Matrix 小矩阵调度系统
Master 基础软件系统的更新,安装了 Salt-API,Salt-Master,OpenResty,Influxdata 以及 Matrix 小矩阵实时监控模块
Login 基础软件系统的更新,安装了 Redis 以及 Matrix 小矩阵安全模块
将步骤 2 本地下载编辑好的 central.sls 文件,上传到 Central 机器,依次执行下面几行指令
# mv ./central.sls /srv/salt/build/CENTRAL/local/files/pillar/
# cp -a /srv/salt/build/CENTRAL/local/files/pillar/ /srv/
# salt \* test.version (确认下 login 和 master 是否被接管,指令下发是否畅通)
# /srv/salt/build/build.sh (执行环境初始化,回车后即刻在后台执行,一般几分钟就执行完成,等待完成并输出 `done` 字样)
# reboot
Central 机器重启后,小矩阵平台第一次启动内部将完成平台数据自建和检查,期间还会自动重启一次,大约还需要等待 10 分钟左右后,第一次登录 Web ,选择忘记密码,输入自己的管理员邮箱重置密码,登录平台管理员
至此小矩阵运维平台部署完成
小矩阵运维管控平台基础组件是 SaltStack ,产品对标海外 SaltStack 企业版本,解决企业大量主机多个网络区域的统一运维管控问题
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.