通知短信+运营短信,5秒速达,支持群发助手一键发送🚀高效触达和通知客户 广告
## 架构 云帮是按照面向服务的架构来设计的。目前大多数集群组件都是通过容器镜像的形式发布和运行的。后续我们会将所有的组件都容器化,通过Kubernetes集群保障组件的高可用。 <br> ### 概述 <img src="http://7xihe6.com1.z0.glb.clouddn.com/cloudbangarc.png" /> 总体分三层,最上层是应用,可以从零创造应用,或将应用市场的应用直接使用,中间的好雨云帮类似一个操作系统,最下层是各类计算资源。 云帮部署在操作系统之上,可以兼容各类计算资源。 好雨云帮 + IaaS =公有云 好雨云帮 + 服务器 =私有云 好雨云帮 + IaaS + 服务器 =混合云 <br> ### 技术架构 <img src="http://7xihe6.com1.z0.glb.clouddn.com/technology-architecture.png" /> - 云帮所有的对外服务都配置在负载均衡上,平台使用者、最终用户、开发者都是通过负载均衡转发到对应的应用与服务: - 开发者除了可以通过Web控制台管理应用,还可以通过平台API来完成所有Web控制台的操作。详情参见:[云帮API手册](help.goodrain.com/api) - 运维人员可以在系统层面维护平台服务,也可以通过云帮的管理后台来管理计算资源,维护平台服务。 - Kubernetes负责容器的编排和调度,它的所有行为都是由控制层发起的。控制层将容器相关的操作都进行了封装,云帮通过抽象出了一个应用的概念来屏蔽底层所有与技术(容器、调度、网络……)相关的概念。用户通过对应用进行属性和行为的设置来操作应用,通过应用与应用直接的依赖关系来进行微服务架构的设计。 <hr><br> #### 路由层 用户可以访问到的应用都是配置在路由层服务中,它主要由负载均衡组成,通过路由规则分离不同的应用与访问域名。控制层的服务根据容器的服务状态维护负载均衡中的节点。 <img src="http://7xihe6.com1.z0.glb.clouddn.com/router.png" /> <hr><br> #### 控制层 控制层服务是平台最核心的功能模块,其内部包含了多个子模块: - 应用管理平台:通常也称之为控制台,是用户操作和管理应用的web端程序。 - 应用中心:云帮内部的应用市场,包含了常用的应用,当然用 户也可以在云市安装更多的应用。 - 自动构建:基于源代码和Dockerfile的自动构建模块。 - 应用引擎:云帮核心子模块,负责将各种容器操作命令发送到后端服务,同时也将应用、容器状态保存到后端的etcd服务中。 - Git仓库:选装模块,可以使用外部或内部的Git服务 <img src="http://7xihe6.com1.z0.glb.clouddn.com/controler.png" /> <hr><br> #### 计算层 计算层负责容器的运行、监控以及收集汇总容器中的日志。容器的启动与关闭由控制层发起,容器运行后会将状态注册到路由层。 <img src="http://7xihe6.com1.z0.glb.clouddn.com/compute.png" /> <hr><br> #### 后端服务 后端服务云帮集群的核心服务,包括Kubernetes、etcd、数据存储、日志处理、监控等。 <img src="http://7xihe6.com1.z0.glb.clouddn.com/backend.png" /> <br> ### 高可用架构 ![20170524149559692841805.png](http://ojfzu47n9.bkt.clouddn.com/20170524149559692841805.png) >[info] **说明:** > 1. 云帮集群中由于部署服务的不同,分为管理节点和计算节点两个角色 > 2. 当只安装一个节点时,这个节点既是管理节点,也是计算节点 > 3. 可以通过集群维护命令增减集群规模,设置集群角色