• 平台组件架构
    • 一、服务组件概述
    • 二、逻辑架构图
    • 三、附录
      • 3.1 DNS服务说明
      • 3.2 部分服务端口说明
      • 3.3 服务部署类型说明

    平台组件架构

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

    目前版本,所有服务都通过Systemd进行管理。

    一、服务组件概述

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

    组件版本安装属性说明
    docker18.06Master/Worker应用容器引擎
    node5.xMaster/Worker集群监控与控制服务
    kube-apiserver/kube-controller-manager/kube-schedulerv1.10.13Master应用编排和管理
    kubeletv1.10.13Master/Worker节点复用时仅第一个管理节点启用
    etcd/etcd-proxy3.2.25Master/Worker管理节点etcd/计算节点etcd-proxy
    calicov3.3.1Master/Worker集群SDN服务,为应用提供网络支持
    rbd-dns5.xMasterRainbond内部dns服务,可作为集群dns服务使用 源码
    rbd-db5.xMaster云帮数据库服务,支持MySQL,Tidb与CockroachDB
    rbd-mq5.xMaster消息队列服务
    rbd-hub2.6.2Master基于Docker Registry封装,提供docker镜像存储服务
    rbd-repo6.5.9Master源码构建仓库服务,基于Artifactory OSS封装
    rbd-eventlog5.xMaster云帮事件处理与日志汇聚服务
    rbd-worker5.xMaster云帮应用操作与处理服务
    rbd-webcli5.xMaster提供应用web方式进入容器命令行的服务
    rbd-chaos5.xMaster应用构建服务,提供源码,Docker镜像等方式创建应用
    rbd-monitor5.xMaster云帮服务监控组件,基于Prometheus封装
    rbd-api5.xMaster云帮区域中心API服务,提供底层服务接口
    rbd-app-ui5.xMaster应用控制台web服务
    rbd-gateway5.xMaster/Lb通向应用的全局网关,提供A/B测试、灰度发布等高级功能

    组件高级用法可以通过点击组件的链接方式阅读。

    二、逻辑架构图

    平台组件架构  - 图1

    三、附录

    3.1 DNS服务说明

    rbd-dns服务,除提供平台用户应用的域名解析之外,还提供内部组件互相访问的域名解析。

    域名说明
    goodrain.merainbond内部docker镜像仓库地址,rbd-hub提供服务
    kubeapi.goodrain.mekube-apisever服务
    region.goodrain.me数据中心API服务
    lang.goodrain.me源码构建依赖包下载地址,rbd-repo提供服务
    maven.goodrain.memaven仓库地址,rbd-repo提供服务
    repo.goodrain.me本地软件源,rbd-gateway提供服务,仅离线环境

    3.2 部分服务端口说明

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

    端口号说明公网访问
    7070应用控制台web需要安全组放行
    6060Websocket服务,提供日志、性能监控实时推送需要安全组放行
    2379,2380,4001etcd服务
    8181,6443kube-apiserver服务
    8443,8888Rainbond API服务
    53rbd-dns提供的集群内部dns服务
    80,443rbd-gateway 提供的全局负载均衡服务需要安全组放行
    • etcd的4001为非安全端口,2379为安全端口
    • kube-apiserver的8181为非安全端口,6442为安全端口, 6443为gateway代理端口
    • rainbond API端口当只有一个数据中心时不需要对外开放,当多数据中心,且在不同网络时需要对外开放,8888非安全端口,8443为安全端口
    • rbd-gateway提供的80与443端口是为HTTP协议应用提供,20001~60000是为TCP协议的应用提供。

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

    3.3 服务部署类型说明

    部署类型说明组件名
    二进制或者deb/rpm部署通常使用apt或者yum方式安装,由systemd守护node,docker,kubelet
    容器化部署通过docker run方式部署,由node生成systemd进行守护其他组件都是容器化部署