社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

Docker与Kubernetes,是敌是友?

Docker • 6 年前 • 686 次点击  

如果你是一名运维工程师,你就会知道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容器的杀手,而是推动者。更进一步地说,编排框架是容器平台的商品,它会驱动容器运行时的使用。编排框架是容器平台的关键组成部分,它与容器运行时是朋友,而不是敌人。


3 天烧脑式Kubernetes训练营


本次培训内容包括:Kubernetes概述、架构、日志和监控,部署、自动驾驶、服务发现、网络方案等核心机制分析,Kubernetes调度工作原理、资源管理及源码分析等,点击识别下方二维码即可查看具体培训内容。



点击阅读原文链接可直接报名。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/weixin/qXo2Si5vQv
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2073
 
686 次点击