【Deis文档】Deis的架构


注:本文翻译自Deis官方文档,无任何商业目的,转载请注明出处。

Deis使用面向服务的架构,架构中的组件包括控制层(Control Plane)、数据层(Data Plane)和网状路由(Router Mesh)。

架构图


管理员使用Deisctl API与集群的控制层、数据层和网状路由进行交互。
而平台的用户(开发者)通过Deis API与控制层进行交互。
控制层通过调度器将任务发送到数据层。网状路由用来路由请求到控制层和数据层。因为网状路由与外网连接,所以它的前端一般是负载均衡器。

控制层


控制层负责整个平台的管理功能。控制层的组件(蓝色的部分)全部由Docker容器实现。
存储(Store)组件包含一些更小的组件。这些小的组件运行着容器化Ceph集群,Ceph集群可以为控制层的组件提供用于存储blob的API和POSIX文件系统API。具体组件如下:
- Registry - 一个Docker Registry,用来保存镜像和配置数据
- Database - 用来保存平台的状态的Postgres数据库
- 日志- 一个syslog日志服务器,它会收集数据层的日志
终端用户主要通过控制器组件(Controller)暴露的HTTP API来与控制器组件交互。用户也可以通过git pushBuilder进行交互。

数据层


数据层是用户容器(蓝色的部分)以用户身份运行的地方。
平台调度器负责将容器发布到数据层的主机上。Deis也要求一些轻量级的组件运行在这些主机上:
- Publisher - 将用户的容器发布到路由器(Router)
- Logspout - 将日志数据发送到控制层的日志组件(Logger)

拓扑结构

对于小规模的部署你可以在三个服务器上运行整个平台,包括控制层、数据层和网状路由。
对于大规模的部署,你可以将控制层和网状路由分割开来,然后将数据层扩展到任意多的服务器。

0 个评论

要回复文章请先登录注册