云计算 频道

百分点让Kubernetes的操作更简单更便捷

  【IT168 评论】今年8月,百分点与云知声联合发布了Kubernetes分布式操作系统的“发行版”:Sextant。Kubernetes是Google开源的集群管理系统,其存在的主要意义就在于改善集群管理环境,提升管理效率。近日,在北京召开的CNUTCon 2016全球容器大会上,笔者有幸见到了百分点的技术副总裁刘译璟,听他谈谈百分点对于Kubernetes应用与发展的观点。

  今天很多互联网公司的集群的CPU总体利用率在20%以下,即便是在采用了虚拟化之后,这个数字也并不乐观。相比之下,而Google的集群CPU总体利用率从10年前开始就是维持在70%左右,这是一项非常了不起的成绩。

  那么面对日益增长的业务,面对服务器不断提升的压力,到底是花费几十万美元升级系统还是尽可能提升系统利用率呢?答案是不言而喻的。但是对于后者,使用传统办法已经不能够解决已有问题。也正是在这种情况下,使用Kubernetes管理集群的方法应运而生,它有望实现性能2-3倍的提升,从而节约一笔“巨款”。

  这一提升背后,是传统的的集群管理方式的两个特点:一是每个团队为各自的业务目标申请各自的服务器,二是通过ssh登陆使用服务器。在努力完成业务目标的前几周或者几个月的探索期里,团队的服务器利用率很高。但是解决了业务问题之后,利用率就下降了。这一模式的另一个弊端是:虽然一家公司可能有百万台服务器,但一个需要一千台服务器的作业却很难执行起来,因为集群实际上是割裂的,分属不同团队。

  分布式操作系统针对以上问题,管理整个数据中心的服务器,让各个团队不再申请服务器,而是申请计算资源quota,比如,1000 CPU + 4000 GPU + 4000 GB内存。quota有优先级——通常一个为产品服务更新模型的作业的优先级高于实验作业。这样,即时实验作业先启动,当产品作业启动的时候,如果集群资源不足,分布式操作系统可以暂停实验作业,为产品作业腾出资源,等产品作业结束之后再继续执行实验作业。

  另一方面,分布式操作系统会把不同类型的作业调度在同一台机器上,利用不同作业着重依赖不同硬件资源(CPU、内存、磁盘IO、网络IO)的特点,充分利用每一台服务器的硬件资源。而且因为很多机器都在分布式操作系统管理之下,所以即使集群利用率高达80%,剩下的很多机器的20%也足以应付突发流量增加等问题。

  这样一来,Kubernetes就解决了性能方面的问题,也减少了工程师从“跳板机”访问的过程,大大节省了人力资源的开销。不仅如此,Kubernetes还能够降低并行计算框架(如MapReduce、Spark、Storm等)的开发难度和成本,极大地释放了团队探索大规模AI技术的潜力。

  但是,说了这么多好处,Kubernetes的缺点也是显而易见的——繁琐。在开源的Kubernetes应用中,Kubernetes集群的安装需要大量繁琐的手工操作。而且因为Kubernetes和相关技术在高速演进,很多手工操作需要重复执行。此外,手工操作数十台甚至数百台服务器很容易出错。

  这也正是百分点与云知声携手的优势所在。正是看到了这个缺陷,百分点与云知声携手推出了零操作的Kubernetes集群安装和部署系统Sextant,大大减少了部署Kubernetes的操作。在谈到这个问题的时候,刘译璟认为——Sextant这个工具解决了集群自动扩张的问题。在谈到未来的时候,刘译璟希望能够把大数据,还有人工智能很多的基础组件放在其中。“大家拿到这套东西以后,可以很快做自己真正的一些应用,没有必要再从底层打很多基础的设施”。

  如今,百分点与云知声的团队正在不断完善Sextant平台,他们也以开放的态度欢迎更多从业者加入到平台的维护当中,推动大数据和AI的快速发展。

0
相关文章