Rainbond是一套完整的PaaS,包含了众多的服务组件,按功能可分为不同的集群角色。

当部署一个节点时,所有组件都安装在该节点上,该节点承载了所有的集群角色。单节点只用作全功能demo演示,并不具备高可用、高性能等生产级别的需求。

单节点rainbond可以通过自动化安装脚本来扩容集群,详情清参见:集群部署原理,本文主要介绍rainbond的逻辑与物理部署结构和集群的角色及功能。

一、逻辑部署结构

1.1 逻辑层级说明

逻辑层级 说明
负载均衡 用户访问平台的应用,都经过负载均衡。该组件是全局的,以集群多节点方式部署。
计算节点集群 运行用户应用的集群,同时还运行了平台依赖服务,如:网络组件、Kubelet、ETCD-Proxy和node服务等。
管理节点集群 运行平台后端服务的集群,所有服务都支持分布式部署与高可用特性。
SDN网络层 实现计算节点应用(容器)跨主机网络连通和租户的网络隔离特性。
分布式存储 平台全局的持久化存储服务,默认使用NFS协议挂载。
计算资源 支撑平台的服务器,可以使用公有云服务器、物理机或者虚拟机。

二、物理部署结构

本节会根据集群角色介绍服务部署及关系。

2.1 分布式存储集群

Rainbond集群部署时,需要将分布式存储分开部署,也就是说,分布式存储需要单独的集群提供服务。

我们推荐使用 GlusterFS 作为分布式存储服务,详细的安装配置请参考:GlusterFS安装

安装配置好GlusterFS之后,需要将存储卷挂载到 管理节点计算节点/grdata 目录:

# 手动挂载
# mount.glusterfs <存储服务器ip或主机名>:<存储卷名> /grdata
# 示例:将 storage01主机的 gv0存储卷,挂载到 /grdata
mount.glusterfs storage01:/gv0 /grdata

# 配置到 /etc/fstab 文件中,示例如下:
storage01:/gv0  /grdata glusterfs   backupvolfile-server=storage02,use-readdirp=no,log-level=WARNING,log-file=/var/log/gluster.log 0 0

2.2 管理节点部署结构

管理节点运行了所有后端服务,各类服务都支持分布式部署和高可用特性,下图只列出了单台机器的部署结构。

各组件介绍及配置详情参见:管理节点组件说明

2.3 计算节点部署结构

计算节点又称为容器节点,负责运行平台上的应用(容器)。除此之外还运行了节点管理等服务。

提示:
  • rbd-proxy组件代理了管理节点的kube-apiserverrbd-hub服务。
  • ETCD-Proxy是管理节点ETCD服务的代理
  • 计算节点中运行的用户应用容器最终会注册到rbd-lb(全局负载均衡)提供给用户访问。

各组件介绍及配置详情参见:计算节点组件说明

三、相关文章