自定义部署方案
如何自定义安装部署方案
- step 1: fork rainbond-ansible项目
- step 2: 通过修改fork后的rainbond-ansible项目来自定义自己的需求
- step 3: 安装时指定rainbond-version(分支名或tag),rainbond-repo(rainbond-ansible fork项目路径)
简析rainbond-ansible结构
|-- addmaster.yml # 添加管理节点ansible-playbook
|-- addnode.yml # 添加计算节点ansible-playbook
|-- ansible.cfg
|-- callback_plugins
|-- inventory
| |-- hosts
|-- log
|-- roles
| |-- bootstrap # 系统配置
| |-- db # 数据库rbd-db
| |-- docker # 安装docker
| |-- etcd # 管理节点配置etcd
| |-- etcd-proxy # 计算节点配置etcd-proxy
| |-- health # 服务health检查配置
| |-- image # 下载离线镜像包 & 解压镜像包 & 加载镜像
| |-- kube-master # k8s管理节点
| |-- kube-worker # k8s计算节点
| |-- lb # 网关服务rbd-gateway
| |-- master # Rainbond核心组件配置
| |-- network_plugin # 集群网络插件calico等
| |-- node # node服务配置
| |-- nodeinit # 初始化数据中心,仅在第一个节点执行
| |-- nodeup # 上线节点, 仅在第一个节点执行
| |-- prepare # 准备工作
| |-- rainvar # 全局配置(setup.sh会根据global.sh或default.sh来调整rainvar配置)
| |-- storage # 存储
| |-- thirdparty # 对接已有k8s集群
| `-- upgrade # 升级
|-- scripts
| |-- installer
| | |-- default.sh # 全局默认配置参数,仅setup.sh调用,优先级低于global.sh
| | |-- functions.sh # 基本函数, 仅setup.sh调用
| | |-- global.sh # grctl init时生成,是参数配置,仅setup.sh调用
| | `-- global.sh.example # 手动安装时global.sh示例
| |-- node.sh # 添加节点脚本目录
| `-- upgrade # 升级脚本目录
|-- setup.sh # 初始化第一个节点prepare脚本
|-- setup.yml # 初始化第一个节点ansible-playbook
|-- upgrade.yml # 升级节点ansible-playbook
`-- version