在 12 月 22 日 ECUG 的下午场 ,七牛云容器计算部技术总监袁晓沛为大家带来了主题为《基于 K8S 的 DCOS 之路》的精彩分享,向大家介绍了七牛容器云目前 K8S 的状况和产品思考。同时,他在会上讲述了如何通过七牛公有云业务容器化的操作实践,组建 K8S 翻译团队,对《Kubernetes in Action》这本书进行落地的翻译。
以下是演讲内容的实录整理。
大家下午好!我是七牛云容器计算部技术总监袁晓沛, 我今天想分享的是七牛云基于 K8S 的 DCOS 之路,结合一些实践经验,讲一下我们在其中做的事情和产品层面的思考。
我今天会先讲一下七牛云内部业务容器化历程,然后讲基于 K8S 的 DCOS,七牛云在做一个更强大的 K8S 发行版,它体现在三个地方:一是底层技术的稳定性。做一个更强大的 K8S,技术稳定性是用户第一时间关注的;二是功能的扩展性。如果一个系统不满足需求时,就要考虑它的扩展性怎么样,能不能基于开放性接口实现;三是易用性。K8S 是非常复杂的系统,如何保证它的运维、使用非常简便,让终端用户可以快速入门。最后,会简单介绍 K8S 周边的生态,包括上下游及应用生态,以及应用生态丰富性。
七牛云内部的容器历程
七牛云从 2014 年开始做容器,当时启动的项目叫 QCOS,它的全称是「Qiniu Cloud Operating System」。当时我们通读了 K8S 的设计草案,我们认为自己有能力做这样一个系统。然后我们从零开始自研了一套容器集群调度管理系统,这个事情做了两年。2016 年底时再回头看,发现一个容器集群调度管理系统要做的事情非常多,要包含 CPU 和内存调度(计算力调度)、网络管理、存储插件、应用相关处理(日志、监控、告警),这是一个非常大的系统,几乎没有几个公司有能力从零开始做这件事情。当时来看,唯一的可能性是谷歌,因为他们有一套 BORG 服务内部多年,而 K8S 是由 BORG 系统设计理念演化过来的。于是我们在 2016 年底决定全面转向 K8S,而且 100% 兼容 K8S。
现在是 2018 年底,我们近两年做的是七牛云内部的 5 大业务 K8S 容器化:最早是测试系统,现在七牛云的测试已经全容器化;第二个是多媒体转码系统,也是全容器化的;第三个业务是七牛云 AI 业务,AI 有大量 GPU 机器,需要基于大量数据集做 AI 学习和训练,所以我们是基于 Kubernetes 之上做了机器学习的平台,我们为这个平台做了很多扩展功能;第四个是大数据,大数据 Spark 业务在我们的容器应用市场上,作为一个应用,让用户可以快速部署。
我们在本季度正热火朝天做一件事情,把七牛云最核心的对象存储业务搬到容器云上,这个事情已初步验证通过,正在切量过程中。到现在为止,七牛云的几大业务线都有大量应用运行在容器之上。从 2018 年下半年已经对一些外部客户输出容器产品,结合七牛云过去五年容器化经验,把我们好的