广告

选K8S是对的,但是用不好就是你的不对了

  • 浏览(954)
  • 评论(0)
  • 译者:k8s

2013年以来Docker像一股旋风席卷IT界,Docker指的是容器技术,其字面意思是集装箱,此中类比有深意。

小小的集装箱不简单,曾有人著书《集装箱改变世界》,说他改变了世界经济,围绕其中的有一大串复杂又很有趣的现象。

集装箱是装在船上来运输的,船上的舵手把集装箱送往全世界。IT世界的Docker装在数据中心的Linux系统环境中,容器何去何从由Kubernetes这个舵手说了算。

有人说Kubernetes出身好(谷歌的基因),活儿好,但是不好管理,作为老船长的几个IT管理者又拿出了Sextant来驯服Kubernetes,Sextant是什么东西呢?

字面意思是六分仪,也是海上航行的家伙事儿。看来,技术人员的情怀不是遥远的星辰,而是可望又可及的大海。

今天我们主要介绍下——Sextant(请忽略这个名字前几个单词的意思)。这是百度、百分点、云之声的几位技术人员作出的很严肃的东西,如上所说就是为了管理Docker容器的,那么Sextant是什么呢?

Sextant和Kubernetes(K8S)的关系,就好比RedHat、Suse、CentOS、Ubuntu和Linux的关系一样,Sextant算是Kubernetes(K8S)的一种发行版。Kubernetes的使用就跟他的名字一样很复杂。这几位技术专家在Kubernetes(K8S)的基础上加入了许多功能特性,方便安装部署。

使用Kubernetes需要解决太多问题

数据中心用户为什么要用Docker,Kubernetes(K8S)以及Sextant呢?

从业务的角度上说,当业务需要上线时,需要及时申请到所需资源,当业务完成后需要释放资源,没有业务需求的时候要为下次业务出现时做好准备。对此,云知声技术VP李霄寒深有感触,他表示,虽然我们的规模不大,但是也对弹性资源有很大需求。

从数据中心的组织结构来说,数据中心里有业务集群的概念,一个集群只运行某一种应用,各集群之间相对独立,这保证了应用所需资源,但影响了利用率,影响了数据中心数据内部迁移流动的连贯性。

容器的出现为解决这些问题提供了可能,容器的特点就是把应用容器化,放到容器内部,解决了环境依赖的问题,从而可以方便地进行迁移。

但是只有容器是不行的,还需要用到集群化的管理工具,一个个零散的容器需要被统一管理才有价值,在技术实现上就需要如Kubernetes(K8S)这样的分布式操作系统,让所有作业都由分布式操作系统来调度,而且分布式操作系统可以打破数据中心内部一个个孤立的业务集群,将集群做到标准化。

大数据人工智能快速发展,加大了数据中心处理数据,资源的能力,加剧了人们对于提升资源效率的需求,由于相同的追求,这让做大数据的百分点和做AI系统的云知声走在了一起。

管理容器常见的系统有Mesos、Kubernetes(K8S)和YARN,为什么选了Kubernetes呢?

Kubernetes源自谷歌,很多Kubernetes的开发者,同时也是Google内部使用的分布式操作系统Borg的开发者,分布式操作系统应用规模最大的就在谷歌,最成体系的也在谷歌,众所周知,谷歌的集群CPU总体利用率从十年前开始就是70%上下,而许多数据中心CPU总体利用率在20%以下,谷歌能做到这一点,想必与分布式操作系统有很大关系。据笔者了解,前谷歌员工,现任数人云CEO的璞回国创业做Docker就是看到了谷歌在这方面的优势。

Kubernetes社区强大,百分点技术副总裁刘译璟介绍说,Kubernetes(K8S)上经常会碰到Bug,经常性地,上午刚察觉到一个Bug,下午想去社区提交的时候就发现这个Bug已经被解决了。与其他技术社区相比,Kubernetes(K8S)社区更有活力,更火。

Mesos、YRAN存在的不足

数据中心内部集群管理经历了多个阶段,从手工管理的阶段到自动化管理阶段,百度硅谷AI实验室资深科学家王益博士在容器技术大会上介绍了管理的发展历程,并指出了Mesos、YRAN存在的问题和不足(如上图所示)。另外,他认为Swarm是Docker公司进入集群管理上的一个努力,但受到单机影响太大,在集群管理上略有不足。

于是,王博士就选择了Kubernetes,并且成功说服了在做技术选型的刘译璟,据刘译璟介绍说,当时调研过mesos和yarn,今年一月份的时候想用yarn,与王益讨论后表示,王博士推荐了k8s这套方案,他表示至少在抽象层次上比K8s要高很多,而且天然与Docker结合的很好,基于YARN会有许多不必要的麻烦。

于是我们看到,百度的王益博士,百分点刘译璟,以及云知声的李霄寒都投票给了Kubernetes。

王益总结说,Kubernetes改变了工程师们的日常工作流程,开发团队交付Docker image而不只是可执行文件,Kubernetes简化了集成测试,省去了发布、打包、部署、执行、监控、清理垃圾等运维工作。

Kubernetes带来的另一类工作效率提升,在于降低了并行计算框架(如MapReduce、Spark、Storm等)的开发难度和成本。开发者不再必需套用几个成熟的开源框架来写自己的分布式程序,而是可以基于Kubernetes方便地开发自己的并行计算框架.

和Mesos、YARN等上一代技术被设计来调度离线作业相比,Kubernetes可以同时调度离线和在线作业。Kubernetes提供了一个合作的平台, 这是与前者的不同,也是做大数据的百分点和做AI系统的云之声能展开这次合作的技术基础。

在Kubernetes平台上,开发团队可以同时运行百分点的EFK技术用于收集和管理数据,以及云知声的大规模AI系统从数据中提取知识和提升服务质量。加上双方对于提升数据中心运维效率的共同追求,于是就有了Sextant。

据介绍,这一项目是从今年4月26号启动的,这次联合开发是由百度王益博士牵头,由百分点和云知声的几位技术人员组建虚拟团队,利用日常工作之外的时间共同研发出来的,

开发花了三四个月的时间,截止到9月9日,大约才上线运营的大概一个月时间,就发布了第一版Sextant。

选K8S是对的,而Sextant能帮你用好K8S

据百分点技术副总裁刘译璟介绍说,百分点有1000台机器,集中在外部应用,其CPU的利用率18%,hadoop的利用率100%,由于大数据要采集大量数据,面对飞快增长数据量在思考充分利用资源,百分点思考从技术下手来节省成本,把web和大数据应用基础在搭建出来。

在百分点的使用环境中,需要频繁地进行删数据操作。刘译璟设想把一千台机器全都hadoop,这样做的好处在于有了更多的资源,从而提升CPU的利用率,又因为打破了专用集群,缓解了因为数据在多个集群间迁移到来的问题,Sextant部署之后,会结合ceph来提供这样的能力。

普惠金融的CTO方亮表示,金融行业由于互联网金融的出现进而开始了去中心化,由于中国缺少征信措施,使得大数据信息收集,以及风控模型变得尤为重要,如何组织好这些计算资源,做到弹性可扩展呢?答案就是基于容器技术的带来的变革。Kubernetes分布式操作系统由于与大数据和AI工业结合才得以真正发展起来了,大数据,人工智能与最新的技术结合。

Sextant是一个早期开源项目,随着Kubernetes技术的演进,Sextant还需要长期维护的开发,Sextant的这几位开发者表示欢迎更多的人一起加入其中,对许多想用容器的人来说,不妨考虑一下K8s以及Sextant。(来源:DOIT,作者:朱朋博)

  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头