本文讲的是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

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

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

Docker与Kubernetes,是敌是友?相关推荐

  1. Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程

    早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构.这是一篇写给程序员的 Docker ...

  2. 黑客使用合法工具接管 Docker 和 Kubernetes 平台

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:云头条 在最近一次攻击中,网络犯罪团伙TeamTN ...

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

    本文讲的是Docker.Kubernetes.Apache Mesos 之争 | 一个与传说不同的故事[编者的话]有无数的文章.讨论和社交网络上的交流在比较 Docker.Kubernetes 和 M ...

  4. 敏捷与 DevOps:是敌是友?

    敏捷与 DevOps:是敌是友? DevOps 是敏捷应用于软件团队的成果.但真正的问题是,在一场比赛中,哪一方会获胜? 在角斗场的一头,我们有经过认证的敏捷教练,他的朋友们都知道他是一个极限程序员, ...

  5. 带你快速了解 Docker 和 Kubernetes

    作者:honghaohu,腾讯 PCG 后台开发工程师 从单机容器化技术 Docker 到分布式容器化架构方案 Kubernetes,当今容器化技术发展盛行.本文面向小白读者,旨在快速带领读者了解 D ...

  6. 为什么是容器,Docker和Kubernetes?

    如果你是一名IT行业的从业者,还没有听说过以上3个词的任何一个,抱歉,你可以改行了:如果你是一名技术人员,无论你是程序员,测试人员,运维工程师还是时髦的DevOps工程师,你还没有运行过docker ...

  7. 从代码到 Docker、Kubernetes、Istio、Knative……,或许是时候重新思考从代码到云的编程了...

    作者 | Lakmal Warusawithana 译者 |弯月 责编 | 徐威龙 封图| CSDN 下载于视觉中国 早些时候,开发人员只需编写程序.构建,然后运行.如今,开发人员还需要考虑各种运行方 ...

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

    本文讲的是容器.Docker与Kubernetes--Kubernetes的配置入门[编者的话]这是介绍Kubernetes的第三篇,主要集中讲述如何配置Kubernetes集群以及作者在配置过程中遇 ...

  9. Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard

    Mac下的Docker及Kubernetes环境搭建与应用部署 Mac安装docker: brew cask install docker 当然也可以直接去官网下载docker的pkg文件安装 Mac ...

最新文章

  1. Codeforces Round #275 (Div. 2) c
  2. Netty之WebSocket和四种IO介绍
  3. 1355: [Baltic2009]Radio Transmission
  4. 人脸识别报错cascadedetect.cpp:1698: error: (-215) !empty() in function detectMultiScale
  5. java 快速io_Java编程在ICPC快速IO实现源码
  6. PowerShell与系统开局(下)
  7. 7.3联盟最多的服务器,1.7.3 超级服务器inetd和xinetd
  8. Avast I Love You
  9. Vscode在Windows上配置远程开发
  10. vue树形权限菜单_Vue.js 递归组件实现树形菜单
  11. layui修改窗口标题
  12. Elasticsearch: 配置文件详解
  13. 安卓下最强的3款pdf阅读器测评
  14. jdk和jre的关系
  15. 印刷厂ERP系统源码
  16. win7使用笔记本做wifi热点
  17. uniapp微信小程序自定义分享按钮
  18. Ubuntu16.04安装文本标注工具brat
  19. 华为交换机重制_华为交换机恢复出厂设置的三种方法
  20. ACM技术栈(知识栈)

热门文章

  1. Android studio 查找文件在电脑路径位置
  2. iOS并发(多线程)
  3. OpenCV Mat遍历的方法
  4. bilateral filter双边滤波器的通俗理解
  5. 基本概念—机器学习ML与深度学习DL
  6. SDNU 1085.爬楼梯再加强版(矩阵快速幂)
  7. python用random产生验证码,以及random的一些其他用法
  8. 首次使用eclipes运行项目报错“Java.lang.ClassNotFoundException”
  9. android手势识别
  10. 史上最全的MSSQL笔记