本文是云帮系列文章的第三篇,前两篇分别介绍了云帮的设计思想技术架构,您可以点击连接访问先前发布的文档。

云帮包含了很多功能组件,本篇文章针对 核心组件 加以介绍。

自动构建组件

building.png

云帮支持2种类型的自动构建:

  1. 源代码构建

  2. Dockerfile构建

两种构建方式分别走2套构建流程,其中Dockerfile的构建流程与Docker官方构建镜像的步骤一致。这里不再赘述,咱们重点介绍基于源代码的自动构建。

源代码构建背后的理论是:代码即环境 ,什么类型的代码从根本上来说已经决定了它的环境,比如说 PHP代码,已经决定它的环境是WebServer+PHP,而不应该是Python的环境。代码即环境实际上就是在这个基础之上在代码中添加一些环境的标示而已,当源代码提交到平台后,平台的自动构建程序检测环境描述文件,然后根据需求自动构建环境。

应用引擎组件

应用引擎是好雨自主研发的分布式,多数据中心的应用管理引擎。其主要功能不仅衔接各个功能组件,而且还实现了原生高可用、性能分析、业务监控等诸多业界首创功能特性。

逻辑结构

app-engine.png


SDN组件

目前我们为云帮设计了2套SDN组件,分别是基于Calico的三层网络组件和基于OVS自己研发的一套二层网络组件——GoodNet。他们所实现的目的是一样的:

  1. 为了隔离租户间的网络

  2. 保证同租户不同宿主机之间的网络可以互通。

不同之处在于网络组件的应用场景:

  1. Calico 适用于私有云

  2. Goodnet适用于公有云

Calico 网络结构

Calico.png

GoodNet 网络结构

GoodNet.png

同一租户下的容器通过统一的租户路由器上链到Provider Router,通过Provider Router做外网路由集中转发,并且租户路由器上是在宿主机上虚拟出一个路由器,同一租户下的容器互通通过租户路由器做gre/vxlan封装和转发。

下期预告

  • 云帮对接私有Git代码仓库


本文为 好雨科技 原创文章,如若转载,需注明转载自 "好雨科技"


Rainbond
764 声望56 粉丝

不用懂 Kubernetes 的云原生应用管理平台