天天看点

自研容器调度引擎Newben会成为“中国的K8s”?

作者:精灵云

前言:

自研容器调度引擎Newben会成为“中国的K8s”?

三天前,精灵云的客服曾收到过如下一番对话。

自研容器调度引擎Newben会成为“中国的K8s”?

newben被用户比喻为了“中国的k8s”这点另我们倍感意外,然而问题也接踵而至:newben能当得起“中国的k8s”这个称号吗? 于是,从newben的设计和功能特性两个方面我们认真地进行了思考。

newben是什么?

大家所熟知的容器调度引擎比如:k8s, swarm, mesos等都是开源的,它们可实现的功能和在功能实现的方式上都不尽相同。docker从2012年开源后的5年里,精灵云核心创始团队在接触企业用户的时候,尤其是军工、政务、金融等领域的企业,发现开源的容器调度框架技术并不能完全满足他们的需求。为什么这么说?调度引擎是容器最核心的模块,在paas这个关键的云计算领域不应该由国外来主导,它应该是完全自主可控且安全的。于是在这样的背景下,newben应运而生。

自研容器调度引擎Newben会成为“中国的K8s”?

(newben的逻辑框架)

从newben的逻辑框架图可以看出,最上层是高可用集群,中间接负载均衡器,底层接多个应用服务, newben从设计之初就支持高可用,负载均衡和弹性伸缩,以及多服务挂载,这点和市面上开源的容器调度框架保持了一致。

newben=“中国的k8s”?

kubernetes(k8s)是google开源的容器集群管理系统,也是目前市面上最主流的容器调度管理系统,此外还有mesos、docker swarm等。如下图所示,将newben、k8s、mesos和swarm进行详细对比,会发现newben事实上吸取了各开源调度引擎的长处,在网络、应用迁移、应用快照、模板、负载均衡、弹性伸缩、高可用、ci/cd集成、灰度发布和回滚、镜像集成、日志监控等方面对比开源技术都有着非常大的优势。

自研容器调度引擎Newben会成为“中国的K8s”?

(newben和开源容器调度框架的对比)

在此节选六大功能详细说明newben的优势和特性:

l可视化

从操作上来看, newben将操作体验完全改良,所有操作均可视化,方便管理和维护的同时,可帮助用户实时检查错误避免失误。

l网络

newben内置支持虚拟网络,支持多子网,支持公有云、主机托管环境、二层和三层网络以及控制网络访问安全。

l弹性伸缩

除了可以支持cpu的弹性伸缩之外,newben还可支持内存的弹性伸缩,这让newben可适应更多场景。

l应用服务和应用栈

在创建应用服务方面,newben摒弃了k8s需要多次执行命令工具的操作模式,采用向导式创建的方式,简化了繁琐的配置工作,且支持应用服务分组创建应用栈,既保证了创建应用配置的流畅性也实现了应用服务之间的灵活访问控制。

l负载均衡

newben可实现负载均衡和高可用集群,可通过向导方式创建并呈现负载均衡、高可用集群和应用服务之间的拓扑结构,更清晰直观。

l调度规则

newben的调度规则基于标签选择和指定主机名,通过指定主机的调度规则,可以实现特殊硬件需求的定义,例如mysql需要主机具备更快更安全的磁盘,负载均衡对外发布时需要指定具有特定外部网络的主机。newben的调度规则基础决定了newben可同时支持分散、聚集和主机唯一的调度策略。通过分散可以更好的分摊服务均衡性提高可用性,通过聚集可以最大限度的榨取主机资源避免浪费,同时,聚集策略也会优先的将容器创建在已经有实例运行的服务器上,可以快速的创建容器,减少镜像拉取时间和磁盘空间浪费。

总结

综上所述,不可否认的是拥有庞大代码贡献源的k8s仍然有其不可逾越的优势,也是目前容器技术应用中的主流。而newben的设计也曾集合k8s所长,并在精灵云容器平台验证的过程中不断优化和完善。通过对比分析,newben在k8s的长项,比如轻量化、容器调度规则、负载均衡、弹性伸缩和高可用等方面都可与其娉美,除了不开源,newben也的确称得上“中国的k8s”这个称谓。

newben的名字取自“牛犇”的谐音,意在构建一个稳定、牢固的容器调度引擎。如今在支撑过数万用户和数十万的容器调度考验后,newben已经成为目前国内定制能力最强,支撑功能最丰富的容器调度框架。而newben并未开源,现已全面内置在精灵云的ecos平台上,大家可前往精灵云官网申请下载试用。(地址:www.ghostcloud.cn)

继续阅读