谷歌Kubernetes专访:未来BigTable开发只是课后习题

  Google曾开源过很多伟大的技术,尤其是三驾马车GFS、MapReduce和BigTable,在某种程度上奠定了分布式系统和大数据技术实践的基石,Google向来不是技术的提出者,最后却往往能成为技术的引领者。

  也有人说Google开源的都是其十几年前使用的技术,但是从另一个角度来看,Google目前解决的问题都是其他公司未来才会遇到的,曾有Google员工在接受采访时说,加入Google就像吞下了《黑客帝国》中的红色药丸,在之前是很难想象Google的开发人员是如何工作的。但是当全球技术发展到一定程度时,Google会开源自己相应的技术。现在Docker出现后,Google开源了 Kubernetes。据说,Google的搜索、地图、邮箱等服务全部运行在一个服务集群中,这都有赖于Google内部代号为Borg的系统,以及其后继者Omega,而Kubernetes正是其开源版本。

  Kubernetes是古希腊语中舵手的意思,也是Cyber的词源;Omega是希腊字母表中的最后一个字母"Ω",是无穷大的意思;Borg来源于《星际旅行》,是一个虚构的宇宙种族,星际旅行系列中最大的反派。从名字上来看,还是Borg比较帅。

  CSDN对Kubernetes项目的创始人Brendan Burns进行了采访,今年的DockerCon中曾发表过演讲,以下为采访实录:

  CSDN:请介绍下你自己。

  Brendan Burns:我是Brendan Burns,是Google在Seattle的一名软件工程师。我曾经在Search Infrastructure部门,参与了 Google Realtime Search和 Search Plus Your World两个项目。在GCE平台,我主导了Replica Pool和Cloud DNS API的开发。在来Google之前,我分别在Williams College获得了计算机科学硕士学位,在Massachusetts Amherst获得了计算机科学博士学位。同时我也是Union College in Schenectady, NY的教授。

  CSDN:在Kubernetes项目中,你担任什么工作?

  Brendan Burns:我是Kubernetes项目的创始人,目前负责主导Kubernetes项目的方向和开发。

  CSDN:能否详细介绍下Kubernetes团队的情况?

  Brendan Burns:Kubernetes团队分散在Seattle,Washington,Mountain View。Seattle是Google Compute Engine和Google Cloud Storage 团队的总部,GCE团队大部分都在Seattle,Kubernetes团队根植于这些云团队,同时也与Mountain View基础设施团队一起共事。

  关于Kubernetes项目

  CSDN:Kubernetes项目是如何开始的?

Brendan Burns:Kubernetes项目开始于2013年夏,3月份Docker的成功创业引起了我们的注意。由于Google在十年前就开始使用Container技术,现在由我们来将这项技术和经验传播到更广的开发团队,是一件很自然的事情,同时,GCE也成为了运行容器工作负载的最佳平台。

  Kubernetes创始之初就是一个开源项目,因为我们想要形成一个活跃的社区,大家可以共享自己的想法,同时可以聆听其他人的需求。尽管Google在这个领域经验丰富,但并不意味着我们可以解决一切问题。我们希望参与到更多的讨论中,并将自己的技术惠及更多的开发团队。

  CSDN:Kubernetes是为了解决哪些问题?

  Brendan Burns:Kubernetes是为了使可扩展、可靠的软件系统的构建更简单。

  不同于传统的软件安装方式,Kubernetes将应用包作为容器部署到抽象的计算资源中。这样一来,应用和操作系统间的依赖被解耦了。应用的扩展变得简单了,因为在应用所在的容器中包含了所有的依赖关系,它不必担心它运行在哪个机器上。数据中心的扩展也变得简单,因为向Kubernetes集群中添加新的机器很简单,Kubernetes会立即给他们分配作业。

  Kubernetes使得可靠软件的构建更简单,相比其它部署系统,Kubernetes是一个在线的管理者。它一直在监控着集群的状态,判断容器的运行状态是否符合用户的配置,以决定是否要创建或删除容器。具体来说,当一个程序崩溃时,它需要重启一个web服务或数据库,当物理机失败时,它需要将作业分配给其它物理机。这种管理方式也使Kubernetes具备了自我修复功能。

  CSDN:在Kubernetes开发过程中遇到了哪些困难?

  Brendan Burns:这个过程中有很多有趣的挑战,其中最大的一点是如何使这项技术,开放给其他开发者。和各种类型的初创团队和公司交流,学习他们软件开发的过程同时也是一件很有意思的事情。 另一个有趣的挑战是Kubernetes团队的管理,这其中也包含了Google之外的贡献者。从IRC频道中的问题和讨论,到GitHub上的pull request和issue,我经常会花一天的时间来看这些贡献者发来的令人兴奋的想法。

  CSDN:在这个项目中给你留下最深刻印象的是什么?

  Brendan Burns:真正给我留下深刻印象的是这个社区的热情和如此迅速的发展。我从来没有想过Kubernetes项目会获得如此多的支持,从Microsoft、VMware和RedHat等大公司,到Core等初创公司,他们共同完善这个项目是一件令人兴奋的事情。

  CSDN:据您所知,外界对Kubernetes存在哪些误解?

  Brendan Burns:其中的一个误解可能是Kubernetes和其它部署工具如Chef/Puppet/Salt/etc的关系,许多人认为Kubernetes和它们是竞争关系,但我认为它们是互补关系。你可以用任何熟悉的工具去构建容器镜像,然后使用Kubernetes将这些镜像部署到可靠、可扩展的环境中。另一个误解在于Kubernetes的兼容性。我们正在尽力使其支持更多平台,我们相信在GCE上不存在平台绑定的问题,你可以将GCE上的应用迁移到任何其它云平台或自建的数据中心,Kubernetes可以帮助你做到这一点。

  CSDN:在2014 VMworld大会期间,VMware宣布其已经在向Kubernetes项目贡献代码,VMware的加入会对Kubernetes产生哪些影响?

  Brendan Burns:VMware带来了很多计算虚拟化和网络虚拟化的宝贵经验,我们相信处于安全性的考虑,虚拟机中运行的容器会有很多应用场景。另外,像Open vSwitch等技术会帮助构建点对点的网络。最后,VMware是企业级虚拟化的主要供应商,他们会帮助将Kubernetes带入到这些应用场景中。

  CSDN:据说Kubernetes是Borg的开源版本,能否透露一些关于Borg的信息?

  Brendan Burns:Google内部的容器管理系统在10多年前就开始部署了,这期间我们做了很多尝试,积累了大量经验。但是我们内部的系统非常复杂,并且仅仅适用于Google的内部需求。 而Kubernetes的目的就是将Google内部最精华的部分提取出来,使现在的开发者能够更简单、直接地应用。它以我们内部系统为灵感,但又不那么复杂和功能全面,更强调模块性和可理解性。

  关于Container技术

  CSDN:Google何时开始关注Container技术的?

  Brendan Burns: 从向Linux内核提交最初的Container patch以来,Google一直在关注Container技术。几乎Google的每个应用,从搜索到邮件到GCE都运行在linux容器中。 最近,由于Container技术开始被大众所接收,我们开始通过Kubernetes等项目将Container技术推广到其他开发团队。

  CSDN:如何看待Docker外的其它Container技术,如OpenVZ、ZeroVM和Zones?

  Brendan Burns:我们认为Container技术是对应用构建过程的抽象,Kubernetes之外也有很多类似的框架来支持容器打包和部署,我们希望能够和他们合作,将最好的容器管理技术贡献给社区。最后,作为云服务提供商我们的业务是为客户提供最好的托管服务。

  CSDN:你认为Docker和Kubernetes最适用于哪些公司和哪些场景?

  Brendan Burns:我认为任何需要构建分布式系统或大规模的批处理系统(如MapReduce)的软件公司都能够受益于Kubernetes。以前我认为移动App并不是Kubernetes的适用场景,但近些天我认为移动App也需要云架构,很多移动开发者也将成为Kubernetes的用户。

  CSDN:你认为Container技术还存在哪些问题需要解决?Google未来会如何应对这些问题?

  Brendan Burns:Container只是技术而已,它的魅力在于创造一种你从未想过的开发体验,显然我们还没有达到那个目标。构建一个扩展性强,可靠的分布式系统依然很困难。但Kubernetes已经向这个目标前进了一小步。希望在未来,开发一个BigTable系统只是计算机专业的课后习题。通过我们在底层做好的抽象,最终不可能的变为可能,可能的变得更容易实现。在云中这种可以简化的工作还有很多。

  CSDN:你认为Google为什么能够一直引领技术前沿?

  Brendan Burns:我认为原因有很多。首先,在Google总会遇到很多其它公司不会遇到的问题,而且Google有很多聪明的员工在解决这些问题。这些问题往往都没有现成的解决方案,我们必须要寻求新方法。其次,Google有很多鼓励创新的机制,包括充满个性和活力的工作环境,到20%的自由创新时间,再到Google X。在Google我可以说:“我的工作就是重新定义云应用的开发”,没有人会嘲笑我,他们只会问我:“我能帮忙做些什么?”。

  CSDN:如果你被邀请来到2014 Container技术大会,你会向中国的开发者分享些什么?

  Brendan Burns:我会分享关于Kubernetes的一些东西,以及开发者如何使用Container技术构建可扩展、可靠的系统,并演示GCE平台上一些很棒的技术。其次,我更想倾听其他开发者的声音,想知道他们有哪些困难,我们会尽量帮助他们解决。

  另外在采访之前,CSDN也向关注Container技术的开发者征集了一些问题,感谢他们的精彩提问。

  王益:Kubernetes和Mesos有哪些区别(从技术和运营的角度)?

  Brendan Burns:Kubernetes简洁而且紧凑,是一个从头开始的轻量级、可扩展的系统。Kubernetes尤其适用于Container和分布式系统,而Mesos则适用于Container和Hadoop之类的系统。我们和Mesos也有积极的合作,希望能结合两者的优点,带给社区最好的技术。

  王益:在GCE上部署的Kubernetes版本和开源版本是否一致?(以及将来是否会持续一致?)这决定了Kubernetes在GCE之外能被接受的程度。

  Brendan Burns:是一致的。

  于顺治:有了Kubernetes后,是否就能更轻松地去基于Docker构建一个成熟的PaaS系统?

  Brendan Burns:我认为是这样的。Kubernetes能够提供一个通用的管理层,比如应用失败时重启容器,以及对资源的添加和删除过程进行管理。这样一来,PaaS的开发者可以开发出很棒的runtime,提供给PaaS使用者。我认为关注点的分离能够从根本上简化PaaS开发者的工作。

  程显峰:是否有必要为Container技术创建一个新的文件系统?aufs,Btrfs,Ploop和ZFS有哪些缺陷?

  Brendan Burns:没有必要,文件系统的选择(比如Docker选择了aufs)实际上取决于你怎样构建容器镜像。一旦容器开始运行,只要操作系统支持容器镜像所用的文件系统即可。当然如果容器工具不支持你选择的文件系统,你需要重写一个工具。但是Kubernetes可以帮助解决这个问题,它在API中将文件系统提升到了第一级别对象,容器镜像之外的文件系统也可以被简单地mount到容器中。

时间: 2024-10-29 14:34:25

谷歌Kubernetes专访:未来BigTable开发只是课后习题的相关文章

百度未来将开发跨数据中心存储系统

近日,百度与戴尔联合推出百度易手机,这款手机上每个用户可拥有100G免费存储空间.这也引发了业界对百度大数据存储能力的关注.百度为何能提供100G免费存储空间,未来又将在大数据存储方面做哪些工作. 百度技术委员会理事长陈尚义对腾讯科技解密,称百度成立之初就开发了自己的大数据存储系统.团队云集包括谷歌.IBM.微软等数据存储和处理方面专家.他还透露,百度未来将开发跨数据中心存储系统. 陈尚义介绍,百度每天面对海量数据.每天收集几千亿网页,系统每天都产生海量日志,容量达到百PB级,需要数万台服务器存

站在巨人的肩膀上 透过谷歌看互联网未来

2011年8月中旬125亿美元收购摩托罗拉的惊天之举,9月又度过了13岁生日,谷歌在其发展的第13年里带来了不少惊喜,收购摩托罗拉之后谷歌如何发展?谷歌在经历13年发展,其今后投资发展的领域优势如何,http://www.aliyun.com/zixun/aggregation/6298.html">互联网发展已有40余年,未来的互联网行业又是如何?在此,我们来借助谷歌这一互联网行业巨头的肩膀,看看谷歌这家新兴的互联网公司,投资涉足的领域,从中我们也可以大体预测互联网未来发展的方向. 站在

为什么说"微 PaaS"代表着未来应用开发的方向?

Docker 的出现,让应用 "容器化"的门槛前所未有地降低,而这一切都在改变着我们开发应用的方式. 今日不同以往.过去,一个单一的代码库就意味着一款应用功能的全部:而现在,应用被分解成为不同的功能性"片段",你可以称它们为"微服务",这些"微服务"共同发力,从而形成一个应用. 与此同时,程序员们发现自己在线上搭建运行这些应用越来越困难了.原因是这些应用不断演化,那种"以平台作为服务(PaaS)",一个平台

盛大游戏高管解读财报:未来将开发3D游戏

中介交易 SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 北京时间2月26日上午消息,盛大游戏今日发布了该公司截至2012年12月31日的第四季度兼全年未经审计财报.财报显示,盛大游戏第四季度净营业收入为10.82亿元人民币(合1.72亿美元),与上季环比持平达到预期,同比下滑25.9%;净利润2.14亿元人民币(合3410万美元),同比下滑29.6%.盛大游戏2012年全年净营业收入为46.82亿元(合7.45亿美元),同比下滑11.4%;净利润为11.13亿元(1.77亿美元),同比下滑1

《计算机网络:自顶向下方法(原书第6版)》一课后习题和问题

课后习题和问题 复习题2.1节 R1.列出5种非专用的因特网应用及它们所使用的应用层协议. R2.网络体系结构与应用程序体系结构之间有什么区别? R3.对两进程之间的通信会话而言,哪个进程是客户,哪个进程是服务器? R4.对一个P2P文件共享应用,你同意"一个通信会话不存在客户端和服务器端的概念"的说法吗?为什么? R5.运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程? R6.假定你想尽快地处理从远程客户到服务器的事务,你将使用UDP还是TCP?为什么? R7.

屈婉玲-算法设计与分析课后习题答案

问题描述 算法设计与分析课后习题答案 需要算法设计与分析屈婉玲课后习题答案,希望哪位大神帮帮忙!大恩不言谢 解决方案 算法设计与分析课后习题3.2算法设计与分析课后习题3.5数据结构与算法分析课后习题第四章(1) 解决方案二: http://download.csdn.net/download/xiaomashengjie/6828333 不谢~

c语言-C语音课后习题,答案不能输出。在线等~谢谢

问题描述 C语音课后习题,答案不能输出.在线等~谢谢 输入一行字符,统计字母,空格,数字,其他字符,结果不能输出,我看了答案和我的程序一样的... 代码如下 #include int main() { int i=0,j=0,k=0,s=0; char c; printf("please input string:n"); c=getchar(); while(c!='n') { if(c>='A'&&c<='Z'||c>='a'&&c

计算机教材-求计算机组成与设计硬件/软件接口第5版课后习题答案,请发到348853203@qq.com

问题描述 求计算机组成与设计硬件/软件接口第5版课后习题答案,请发到348853203@qq.com 求计算机组成与设计硬件/软件接口第5版课后习题答案,请发到348853203@qq.com 谢谢 解决方案 你还不如直接找你们学长要,多思考,别总是看答案!

《金蝶KIS——财务软件培训教程(第3版)》——6.3 课后习题

6.3 课后习题 金蝶KIS--财务软件培训教程(第3版)1.做自动转账设置时,转账方式有哪几种? 2.自动转账生成凭证时,能否直接生成和所有生成一起使用,为什么? 3.期末调汇时汇率能否修改? 4.本课所有操作的前提是 . 5.反结账的快捷键是 . 6.执行报表操作时,如果报表中的数据有错误,那么可能的原因是什么? 7.金蝶KIS的报表公式已经正确设置,为避免修改公式,建账时应注意什么? 8.利用公式向导建立公式时最后一步操作是什么? 9.金蝶KIS中分析方法有哪几种?