文字

架构

云帮是按照面向服务的架构来设计的。目前大多数集群组件都是通过容器镜像的形式发布和运行的。后续我们会将所有的组件都容器化,通过Kubernetes集群保障组件的高可用。

概述

cloudbangarc.png

总体分三层,最上层是应用,可以从零创造应用,或将应用市场的应用直接使用,中间的好雨云帮类似一个操作系统,最下层是各类计算资源。

云帮部署在操作系统之上,可以兼容各类计算资源。

好雨云帮 + IaaS =公有云
好雨云帮 + 服务器 =私有云
好雨云帮 + IaaS + 服务器 =混合云


技术架构

technology-architecture.png
  • 云帮所有的对外服务都配置在负载均衡上,平台使用者、最终用户、开发者都是通过负载均衡转发到对应的应用与服务:

  • 开发者除了可以通过Web控制台管理应用,还可以通过平台API来完成所有Web控制台的操作。详情参见:云帮API手册
  • 运维人员可以在系统层面维护平台服务,也可以通过云帮的管理后台来管理计算资源,维护平台服务。
  • Kubernetes负责容器的编排和调度,它的所有行为都是由控制层发起的。控制层将容器相关的操作都进行了封装,云帮通过抽象出了一个应用的概念来屏蔽底层所有与技术(容器、调度、网络……)相关的概念。用户通过对应用进行属性和行为的设置来操作应用,通过应用与应用直接的依赖关系来进行微服务架构的设计。


    路由层

    用户可以访问到的应用都是配置在路由层服务中,它主要由负载均衡组成,通过路由规则分离不同的应用与访问域名。控制层的服务根据容器的服务状态维护负载均衡中的节点。

router.png



控制层

控制层服务是平台最核心的功能模块,其内部包含了多个子模块:

  • 应用管理平台:通常也称之为控制台,是用户操作和管理应用的web端程序。
  • 应用中心:云帮内部的应用市场,包含了常用的应用,当然用 户也可以在云市安装更多的应用。
  • 自动构建:基于源代码和Dockerfile的自动构建模块。
  • 应用引擎:云帮核心子模块,负责将各种容器操作命令发送到后端服务,同时也将应用、容器状态保存到后端的etcd服务中。
  • Git仓库:选装模块,可以使用外部或内部的Git服务
controler.png



计算层

计算层负责容器的运行、监控以及收集汇总容器中的日志。容器的启动与关闭由控制层发起,容器运行后会将状态注册到路由层。

compute.png



后端服务

后端服务云帮集群的核心服务,包括Kubernetes、etcd、数据存储、日志处理、监控等。

backend.png


部署结构

deployment-architectures.png
  • 负载均衡

    负载均衡组件通常部署在计算节点上,推荐至少使用3个计算节点作为负载均衡的最小集群规模。

  • 计算节点

    计算节点是实际跑容器的主机,每一个团队账号(租户)的容器可以跨主机运行,团队账号中可以有多个应用,每个应用由1~n个容器组成,应用的多个容器运行在不同的主机中。

  • 管理节点

    云帮集群的管理服务都运行在管理节点的机器中,包括自动构建服务、容器调度、SDN网络管理、应用引擎、日志汇总与实时处理等等……

  • 分布式存储

    存放应用持久化数据以及自动化构建所需要的公共文件。

上一篇: 下一篇:
  页面正在加载中