集群端贡献指南
Rainbond集群端源码编译
数据中心端是直接部署在 Kubernetes 集群上的,同时组件较多,因此你可以根据需要编译单个组件。
单组件编译
单组件编译在实际开发过程中⾮常重要,由于 Rainbond 系统的体系较为庞⼤,平时开发过程中通常是修改了某个组件后编译该组件,使⽤最新的组件镜像在已安装的开发测试环境中直接替换镜像。
单组件编译支持以下组件:
| 组件 | 说明 |
|---|---|
| chaos | chaos 组件对应 Rainbond 应用构建服务,主要处理 CI 过程,将输入源包括 源代码 或 Docker镜像 或 应用市场应用 进行解析、编译、打包,最终生成 应用(组件)的版本介质。 |
| api | api 组件对应 Rainbond 数据中心 API 服务,API 服务作为数据中心 级抽象的核心控制服务,对外提供 Restful 风格的 API 服务,是数据中心控制请求的唯一入口。 |
| gateway | gateway 组件对应 Rainbond 应用网关服务,应用网关是外部流量进入 Rainbond 租户内部组件的唯一入口, 提供 HTTP, HTTPs 路由, TCP/UDP 服务, 负载均衡器, 高级路由(A/B 测试, 灰度发布),虚拟 IP 支持等功能。 |
| monitor | monitor 组件对应 Rainbond 监控服务,Rainbond 基于 Prometheus 封装了 Monitor 组件,通过从 etcd、Kubernetes 集群中自动发现应用、集群、集群节点服务的各类监控对象并完成 Prometheus 监控目标配置,将监控目标纳入 Prometheus 监控范围。 |
| mq | mq 组件对应 Rainbond 消息中间件服务,MQ 组件是基于 Etcd 实现的轻量级分布式、消息持久化和全局一致性的消息中间件。该组件维护异步任务消息,提供多主题的消息发布和订阅能力。 |
| webcli | webcli 组件对应 Rainbond 应用 Web 终端控制服务,该组件实现了通过 web 的方式连接到容器控制台的功能。该组件通过与 UI 进行 WebSocket 通信,用户可以通过模拟 Web 终端发送各类 shell 命令,webcli 通过 kube-apiserver 提供的 exec 方式在容器中执行命令并返回结果到 Web 终端。 |
| worker | worker 组件对应 Rainbond 应用运行时控制服务,应用运行时控制服务将 Rainbond-Application Model 进行实例化转化为 Kubernetes 资源模型,配属应用运行需要的各类资源,完成应用生命周期中的运行态部分,可以理解为 CD 控制服务,该服务的设计要点是支撑大量应用的生命周期监管。 |