平台组件架构

本文主要介绍完整部署Rainbond所需要的所有服务组件,帮助用户了解Rainbond技术栈与组件架构。

目前版本,系统组件生命周期由 KubernetesRainbond-Operator 共同维护和管理。

Rainbond 由 Console(控制台) + Region(集群端) + Kubernetes(RKE) 组成。

Console控制台组件概述

控制台部署目前分为三种:

  1. Allinone
  2. 高可用控制台,部署在 Rainbond 中(基于应用商店安装)
  3. Helm 部署,以POD运行在 Kubernetes 中。

Region集群端组件概述

Rainbond 组件概述 - 图1tip

Region集群端组件高级用法可以通过点击组件的链接方式阅读

以下是通过一键部署方式将会在服务器安装的Rainbond各服务组件及其版本信息。

组件版本说明控制器类型
rainbond-operatorv2.3.0维护rainbond组件的配置与运行状态Deployment
rbd-api5.xrainbond区域中心API服务,提供底层服务接口Deployment
rbd-chaos5.x应用构建服务,提供源码,Docker镜像等方式创建应用Daemonset
rbd-db5.x云帮数据库服务,支持MySQL5.65.78.0Statefulset
rbd-etcdv3.3.18etcd存储集群的元数据信息,集群状态和网络配置Statefulset
rbd-eventlog5.xrainbond事件处理与日志汇聚服务Statefulset
rbd-gateway5.x通向应用的全局网关,提供A/B测试、灰度发布等高级功能Daemonset
rbd-hubv2.6.2基于Docker Registry封装,提供docker镜像存储服务Deployment
rbd-mq5.x消息队列服务Deployment
nfs-provisionerv2.2.1存储服务Statefulset
rbd-node5.x集群监控与控制,docker证书分发Daemonset
rbd-resource-proxy1.19源码构建仓库服务Deployment
rbd-webcli5.x提供应用web方式进入容器命令行的服务Deployment
rbd-worker5.x云帮应用操作与处理服务Deployment

Kubernetes (RKE)

以下 Kubernetes 组件均是通过 RKE 安装,具体配置请参考 RKE 文档。

组件版本说明
kubeletv1.19.6是在每个 Node 节点上运行的主要节点代理
kube-apiserverv1.19.6为API对象验证和配置数据
kube-controller-managerv1.19.6Kubernetes集群内部的管理控制中心
kube-schedulerv1.19.6负责分配调度Pod到集群内的node节点
kube-proxyv1.19.6Kubernetes的网络代理,在每个node节点上运行

Docker

组件版本说明
docker19.03.5应用容器引擎

组件端口说明

公网访问: 如部署在公有云环境需要公网访问需要安全组放行

端口号说明公网访问服务组件
80/443全局负载均衡服务需要安全组放行rbd-gateway
6060Websocket服务,提供日志、性能监控实时推送需要安全组放行rbd-api
7070应用控制台web需要安全组放行rbd-app-ui
8443Rainbond API服务需要安全组放行rbd-api
30008集群安装运维控制台web需要安全组放行,集群安装后关闭rainbond-operator
10248/10250/10255/42645kubelet服务kubelet
10251kube-scheduler服务kube-scheduler
6443/8080kube-apiserver服务kube-apiserver
2379,2380,4001etcd服务etcd/etcd-proxy
10252/10257kube-controller服务kube-controller
53集群内部dns服务rbd-dns
8089集群域名解析服务监听端口kube-dns
6362/6363/6365/6366集群事件服务rbd-eventlog
8443Rainbond API服务rbd-api
6100/6101/6102/9125rbd-node服务rainbond-node
10254/18080/18081集群负载均衡监听端口rbd-gateway
10249/10256/30008kube-proxy服务kube-proxy
10259kube-scheduler服务kube-scheduler
53集群内部dns服务rbd-dns
8089集群域名解析服务监听端口kube-dns
9999集群监控rbd-monitor
3306集群数据库rbd-db
  • etcd的4001为非安全端口,2379为安全端口
  • rainbond API端口当只有一个数据中心时不需要对外开放,当多数据中心,且在不同网络时需要对外开放,8888非安全端口,8443为安全端口
  • rbd-gateway提供的80与443端口是为HTTP协议应用提供,10001~65535是为TCP协议的应用提供。

更多具体端口信息请参考 组件端口