背景:
大家所熟知的Docker容器调度引擎包括,K8S, Swarm, Mesos和Rancher,这些调度引擎都是开源的国外引擎,各有各的特点。在同客户和圈内人士沟通中,很多人直言国内容器创业公司大多只是将各种开源组件集成在一起,同质化严重,没有核心竞争力。作为国内第一批的容器创业公司——Ghostcloud精灵云,深知国内需要在容器的诸多领域拥有真正完全可控,同时具有核心竞争力的产品。因此,容器云平台最核心的调度引擎迫切需要一个完全可控,自主的产品,在这种背景下Newben应运而生。Newben取自“牛犇”的谐音,意在构建一个稳定的,牢固的容器调度引擎。接下来就简单介绍一下Newben的实现细节,并通过一系列视频进行功能展示。
组成:
Newben包含几个核心部分:
- Api-Server : 为UI和第三方集成提供调用接口。
- Scheduler : 负责解释定义,收集数据和执行调度。
- DNS/ETCD : 负责服务注册,服务发现,订阅和容器主机访问。
- Executer :负责执行Server端下发命令。
- Monitor : 负责监控主机和容器的各种状态。
- Heapster : 负责健康检查。
- Calico+ : 经过二次开发的基于Calico的网络插件。
- Nginx : 七层负载均衡器。
- HAProxy : 四层/七层负载均衡器。 Keepalive : 高可用组件。
典型逻辑结构:
下面是典型的逻辑结构图: