Docker与Kubernetes,是敌是友?

本文讲的是Docker与Kubernetes,是敌是友?【编者的话】本文为读者提供了容器技术平台的组成说明,介绍了Docker公司的历史,编排框架Kubernetes推动Docker容器的使用,容器技术真正的价值等话题。

【深圳站|3天烧脑式Kubernetes训练营】培训内容包括:Kubernetes概述、架构、日志和监控,部署、自动驾驶、服务发现、网络方案等核心机制分析,进阶篇——Kubernetes调度工作原理、资源管理及源码分析等。

如果你是一名运维工程师,你就会知道Docker公司的估值已超过10亿美元,而且Docker是最受关注的技术品牌之一。Docker容器被称为容器运行时的事实标准,但是Google公司的Kubernetes正在赢得编排框架市场的胜利。在使用容器技术时,我们经常会遇到这样一个问题,“使用Kubernetes会伤害Docker吗?”

许多人认为容器技术的价值在编排层,这是Kubernetes对Docker容器的直接威胁。然而我不认同这个观点,因为Docker不是一家容器运行时公司,而是一家容器平台公司。要理解这个概念,我们必须了解Docker公司的历史。

PaaS vs CaaS

Docker公司曾是一家名为dotCloud的公共云PaaS(平台即服务)公司。所有的PaaS解决方案都可以利用容器封装来执行复杂的任务,例如实时迁移,以便可以快速部署软件,而不需要用户离线系统或停机。2013年,dotCloud公司开源了其基础容器技术,称为Docker项目。与此同时,一个大型技术社区产生了,dotCloud从一家纯粹的PaaS公司转型成为一家名为Docker的容器平台公司。

在接下来的两年中,Docker公司筹集了1.9亿美元,并阐述了容器即服务(CaaS)的概念。首席技术官Solomon Hykes指出,PaaS的最大挑战之一是开发人员往往过于规范。CaaS的理念是用户可以将相关的组件容器化,并在Docker产品和服务的帮助下,搭建一个由容器化组件构成的非规范性平台。这样,开发人员就从基础的IT管道中抽象出来,不再被PaaS供应商提供的技术所捆绑。转向CaaS使得Docker成为容器平台公司,而容器只是一种工具。

编排框架

一旦拥抱了容器,用户就需要一个编排框架来调度和管理容器。最常见的编排框架有Kubernetes、Mesos、Docker Swarm。Kubernetes是目前市场上最成熟的、最具扩展性的解决方案,占有最大的市场份额。上述三个编排框架都开放源代码,用户只需为技术支持服务付费。

Kubernetes与Docker容器之间,并不是苹果与苹果的比较,你不能将业务流程工具与平台对比。Kubernetes是Google公司多年来用于大型集群管理的基础技术,它于2015年7月发布。之后的DockerCon 2016上,Docker公司宣布了具有业务流程功能的Docker Swarm。Docker Swarm的一个优点是与Docker平台中的许多安全功能集成,如密钥管理。在容器规模较小的场景下,许多用户更喜欢使用Docker Swarm,因为它平滑地内置于Docker平台中。

容器技术的价值在平台

到目前为止,编排框架竞赛的获胜者是Kubernetes。这使得许多人认为Kubernetes对Docker容器造成了很大的威胁。在DockerCon 2017上,Docker公司发布了Moby项目,它是一个基于容器平台(CaaS)的组装框架。Moby项目使得用户可以用喜欢的组件来创建定制化的平台。从下图可知,编排框架只是容器平台(CaaS)的一层。

Docker容器不关心用户使用哪种编排框架,它的工作是让用户轻松地选择最喜欢的编排框架,无论Kubernetes、Mesos、Docker Swarm还是其他。这个选择在价值上无关紧要,真正的价值在于平台,那才是钱。因此,将Kubernetes与Docker容器进行比较是没有意义的,Docker的真正的竞争对手是VMWare、CloudFoundry等平台。

在我看来

在Twitter上,我们看到Google公司的Kelsey Hightower与Docker公司的Solomon Hykes之间喋喋不休,但是我相信Kelsey对于Docker容器缺乏开放性的建设性批评,有助于推动其将Kubernetes作为容器平台编排层的可行性选择之一。如果这样,Google公司就不再是容器生态的敌人,更多的是合作伙伴。

Docker公司的资金收入来源于技术支持服务,生产中运行的Docker容器越多,技术支持服务的收入就越多。对Docker公司来说,重要的是Docker容器使用率的提升。显然,Kubernetes是最受欢迎的编排框架,被用于驱动大规模的容器应用,而Kubernetes可以使更多的Docker容器投入生产。

在我看来,Kubernetes不是Docker容器的杀手,而是推动者。更进一步地说,编排框架是容器平台的商品,它会驱动容器运行时的使用。编排框架是容器平台的关键组成部分,它与容器运行时是朋友,而不是敌人。

原文链接:Docker and Kubernetes: Friends or Foes?(翻译:岳俊凯)

===========================================================

译者介绍: Jack,开源软件研究者,研究方向是容器技术和深度学习,目前积极活跃于DockOne、Kubernetes、Tensorflow技术社区。

原文发布时间为:2017-05-10

本文作者:Jack

原文标题:Docker与Kubernetes,是敌是友?

时间: 2024-08-07 21:53:32

Docker与Kubernetes,是敌是友?的相关文章

Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事

本文讲的是Docker.Kubernetes.Apache Mesos 之争 | 一个与传说不同的故事[编者的话]有无数的文章.讨论和社交网络上的交流在比较 Docker.Kubernetes 和 Mesos. [3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站]本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览:持续集成系统介绍:客户端与服务端的 CI/CD 实践:开发流程中引入 CI.CD:Gitlab 和 CI.CD 工具:G

Java微服务开发指南 -- 使用Docker和Kubernetes构建可伸缩的微服务

使用Docker和Kubernetes构建可伸缩的微服务     从现在开始,我们将从更高的维度讨论微服务,涵盖了组织敏捷性.设计和依赖的思考.领域驱动设计以及Promise理论.当我们深入使用之前介绍的三个流行的微服务框架:Spring Boot.Dropwizard和WildFly Swarm,我们能够使用它们开箱即用的能力去构建一个暴露或者消费REST服务的应用,能够使用外部环境对应用进行配置,可以打包成一个可执行的jar,同时提供Metrics信息,但这些都是围绕着一个微服务实例.当我们

容器、Docker与Kubernetes——Kubernetes的配置入门

本文讲的是容器.Docker与Kubernetes--Kubernetes的配置入门[编者的话]这是介绍Kubernetes的第三篇,主要集中讲述如何配置Kubernetes集群以及作者在配置过程中遇到的问题. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.Docker Volume Pulgin.Kubernetes Storage机制.容器网络实现原理和模型.Docker网络实现.网

容器、Docker与Kubernetes——什么是Kubernetes以及它是如何使得容器化基础设施变得简单

本文讲的是容器.Docker与Kubernetes--什么是Kubernetes以及它是如何使得容器化基础设施变得简单[编者的话]本文是系列文章第2篇,主要介绍Kubernetes. 在本系列文章的第一篇中我阐述了从基础设施的容器化角度阐述了什么是容器,什么是Docker以及它们是怎么来重新定义运维工作以及对基础设施产生的影响.但是,仅仅了解了容器与Docker还不足以将它们运用到我们实际的技术栈中去:所以在本篇文章中我会介绍Kubernetes--一个容器的编排(orchestration)工

在Docker和Kubernetes上运行MongoDB微服务

本文讲的是在Docker和Kubernetes上运行MongoDB微服务[编者的话]本文介绍了利用Docker和Kubernetes搭建一套具有冗余备份集合的MongoDB服务,从容器对CI和CD引发的改变入手,讨论了容器技术对MongoDB带来的挑战和机会,然后实战如何部署一套稳定的MongoDB服务,非常的干货~ 介绍 想尝试在笔记本电脑上运行MongoDB么?希望通过执行一个简单的命令,然后就有一个轻量级.自组织的沙盒么?并可再通过一条命令就可以移除所有的痕迹么? 需要在多个环境中运行相同

Docker不惧Kubernetes,相反会把目光投向企业

本文讲的是Docker不惧Kubernetes,相反会把目光投向企业[编者的话]Kubernetes近年来的势头非常强劲,但是按照Docker的首席执行官Ben Golub的观点,Docker并不惧怕Kubernetes的竞争,相反会把目光投向企业用户,比如与Oracle合作共同耕耘企业级市场,以及通过Modernize Traditional Applications(MTA)应用帮助企业用户平滑移植他们的旧版应用程序到容器化平台. Docker的首席执行官Ben Golub告诉我们,Dock

Docker、Kubernetes与PaaS不得不说的渊源

了解Docker和Kubernetes人应该发现一个有趣的事情,从某种程度上来看Docker.Kubernetes都跟PaaS有些相似,感觉有种说不清道不明的关系.事实上,Docker和 Kubernetes就是脱胎于platform-as-a-service(PaaS),总而言之,它们与PaaS有血缘关系. 谷歌资深产品经理Craig McLuckie认为这也是Docker如此成功的原因之一,也是Google为什么要紧随其后推出基于Docker的容器管理工具Kubernetes.McLucki

推崇破坏性革新的我和有着怀旧情怀的我充斥着亦敌亦友的矛盾

不经意间,原来作为一个广播忠实听众已经17年了,年纪不大,却越发的怀旧,在移动互联时代,推崇破坏性革新的我和有着怀旧情怀的我充斥着亦敌亦友的矛盾,已然陪伴我17年之久的广播生态,似乎也在经历着这么一场变革与演进--广播类产品,它曾经.现在乃至以后会是什么样呢?(注:今天我谈的广播类产品主要针对那些传统调频或调幅电台原版内容仍然占相当比重的产品,一些名字中带有"FM"实际上内容是纯音乐类的产品例如豆瓣FM.Jing.fm等暂不列入讨论.) 记得小学初中的时候第一次得到一台德生收音机,于是

八百客发布秋季版直击Salesforce 上演亦敌亦友间的博弈

在这个"客户才是上帝"的时代,谁能赢得消费者的信赖和忠诚,谁就能占领整个市场,成为王者.CRM作为一种集结了先进营销管理理念和前沿科学技术的客户关系管理软件,能帮助企业完善销售流程,提升客户忠诚度,因而受到了越来越多企业的推崇. 近年来,随着企业信息化进程的加速,CRM市场逐渐升温,IT行业巨头纷纷进入该领域,推动了整个行业的发展.在云计算所引发的第三次信息技术革命浪潮向世界蔓延的推动下,中国云计算产业也已达到与其它国家齐头并进的水平,不断上演着国际大佬与本土企业激烈角逐的"