本文最初发表在 The HFT Guy 的个人博客,经原作者授权,由 InfoQ 中文站翻译并分享。
导读:
Docker 和 Kubernetes 的区别是什么?为什么说 Docker 要灭亡,而 Kubernetes 要兴起呢?Docker 指的是 Docker engine(也叫做 Docker daemon,或最新的名字:Moby),它是一种容器运行时(container runtime)的实现,而且是最主流的实现,几乎就是容器业界的事实标准。Docker 是用来创建和管理容器的,它和容器的关系就好比 Hypervisor(比如:KVM)和虚拟机之间的关系。当然,Docker 公司对 Docker engine 本身的定位和期望不仅仅在于在单机上管理容器,所以近年来一直在向 Docker engine 中加入各种各样的高级功能,比如:组建多节点的 Docker 集群、容器编排、服务发现,等等。而 Kubernetes,是搭建容器集群和进行容器编排的主流开源项目(由 Google 发起并维护),适合搭建 PaaS 平台。容器是 Kubernetes 管理的核心目标对象,它和容器的关系就好比 OpenStack 和虚拟机之间的关系,而它和 Docker 的关系就好比 OpenStack 和 Hypervisor 之间的关系。一般来说,Kubernetes 是和 Docker 配合使用的,Kubernetes 调用每个节点上的 Docker 去创建和管理容器,所以,你可以认为 Kubernetes 是大脑,而 Docker 是四肢。因此,在这样的背景下,Docker 逐渐式微,而 Kubernetes 崛起,就毫不奇怪了。我们曾发表过《Docker 麻烦大了》,由此可见一斑。
正文:
就在几年前,Docker 遍地开花。每一家中小企业都采用它,或者即将采用它。
3~5 年后,Docker 还剩下什么?嗯,不多。
让我们将这个问题换一种说法,以便说得更准确些。现在,有哪家公司还会关心 Docker?令人惊讶的是,答案居然为零。
这个世界总是在不断前进。
Docker 就业前景如何?
如果你只是 Docker 专家,那么,你现在就有麻烦了。现在没有什么岗位需要 Docker 的专业知识,而你就要面临失业的危险了。
Docker 专家的意思是,非常熟悉容器化概念和特定于 Docker 的实现,以及在生产环境中构建、运行和调试容器的经验。
以下是 2017 年的典型面试问题:
什么是 Docker?
什么是容器?
虚拟机和容器之间的区别是什么?
什么是构建 Docker 映像的最佳实践?
如何构建容器?
映像存储在哪里?
什么是 cgroups?
你能说出一些 Docker 的命令吗?
以下是 2019 年的 6 个典型面试问题:
2019 年那些面试问题都是小菜一碟,是吧?但世界上所有的 Docker 专家却无法回答这些问题。这些都是 Kubernetes 的概念,一个全新的学习世界。如果你是 Docker 专家,为了能够保持就业的优势,在竞争中立于不败之地,请认真阅读,更好地跟上当前的技术吧!
最近,公司对 Kubernetes 有强烈的偏见。他们真的在寻找具有 Kubernetes 的经验(最好是很多年的生产经验)的独角兽。
Kubernetes
Kubernetes 几乎在一夜之间改变了格局。在这个过程中,Kubernetes 还修改了关于容器和编排的每一个术语(有关一些实例,可参阅上面的问题)。
曾经被称为 Docker 的东西,现在只被称为“容器引擎”(Docker Engine)。这种巧妙的营销手段取得了巨大的成功。就像汽车的引擎一样,容器引擎依然存在,事实上它无处不在,包括作为依赖项与 Kubernetes 一起运行,但它的存在被忽略了,被所有人遗忘。
只需参加会议和求职面试,你就会发现,Kubernetes 现在已经无处不在,但容器引擎却销声敛迹,不知所踪。
这就是浮在大海上的冰山可见部分。Kubernetes 正在垂直整合整个生态系统,并成为首选解决方案。
在幕后,这是一个微妙的举动,将 Docker 重新定位一个可替换的引擎,等待被推出。有多个玩家在发挥激励作用,并积极努力将其淘汰(如 RedHat、Google、Amazon 等等)。
Kubernetes 争取到了管理层的认可
Kubernetes 在 Docker 失败的地方取得了成功,得到了管理层的认可。
只要在财富五百强企业工作,并关注高层管理会议、全体员工大会、公告和其他大型公司活动,你就会发现,它指出了时间和金钱的去向,为未来铺平了道路。
一半时间是在未来铺路,另一半时间用来做预算和自我推销。不管怎样,这都是正确的道路。
你可能会注意到,经常反复出现的主题是:#Cloud #Kubernetes #AWS #AI #MachineLearning #BigData #BlockChain(猜猜哪个是游戏规则的改变者,哪个是时髦语)
计算一下 Kubernetes 被提及的频率,你将会发现,几乎在每一个事件中都有提及 Kubernetes,重复了很多次。而容器引擎自今年年初以来,被提及的次数恰好为零(注意,今年还有两个月就过去了)。
财富五百强企业在 Kubernetes 进行了大量的投资:更多的员工,公开招聘,咨询业务,高达 6 位数和 7 位数的支票拨给企业提供商和承包单位。而一分钱都不会给 Docker。
显而易见的是,在这一阶段,Docker 完全没有从企业中获利。
钱都去哪里了?
首先也是最重要的,DevOps 人员,无论是全职员工、承包商还是顾问。请记住,与软件许可证或硬件不同,人力资源总是在推动项目和成本。对工人来说,只不过是个简短的插入语,而在承包 / 咨询方面则有很多机会。显然,对于 Google 前员工或其他为这些技术做出贡献的人来说,这个市场尤为火爆。
对于中小型企业来说,他们通常是在云端上。大笔资金正在流向 AWS EKS、AWS ECS、Google GKE 或 Microsoft Azure。
对于中大型企业来说,他们采用的是内部部署或混合部署。大笔资金流向了 VMWare(虚拟机仍然很强大)、Pivotal Cloud Foundry 和 RedHat OpenShift。
对于企业咨询来说,最大的竞争对手似乎是 Heptio,它刚刚被 VMware 以 4 亿美元收购(这是一笔明智的收购)。顺便说一下,VMware 很快就会在 vCenter 之上推出完全托管的 Kubernetes 解决方案。
Kubernetes 也需要一个容器注册表。云端中的托管解决方案有自己的注册表,这是账单中的另一个明细项目。
在现有前提下,要么是免费注册,要么是付费的商业解决方案,Quay 在一段时间内似乎成了主导者。注册表市场最近可能有点饱和,因为所有的东西都跃升为注册表,包括 gitlab、github、nexus 和 artifactory 在内。
容器引擎注册表在商业版可用。然而奇怪的是,从来没有在任何公司中发现它的影子,也没有遇到任何使用它的人。我们真的很想知道它是否有客户或收入。这可能是最大的商业失败之一,就跟 Apple 公司当初推出自家地图服务各种出糗一样。
译注:2012 年,Apple 在 iOS6 不再使用 Google 地图服务,推出了自家的 Apple 地图服务,但却因错误百出而被用户密集吐糟,Tim Cook 曾就地图错误被迫公开致歉,承认 Apple 地图服务确实搞砸了,并建议用户使用 Google 地图服务。
Podman 来了
由于所有位都可以通过不同的解决方案来单独使用,因此,或多或少都可以进行管理。唯一需要替换的是容器引擎本身。
不用多说,接受挑战!从 RHEL 8 开始,RehHat 就开始计划扼杀它,很显然,他们在用自己的引擎来取代它。他们的引擎就叫做 Podman。
有没有可能毁掉一个命令,或者更甚,一个品牌?再甚,一家供应商?如此下去,就这样吗?
是的。在最近的历史上,这样的事情已经发生过很多次了。最著名的例子之一就是 MySQL。MySQL 在 2010 年左右被 Oracle 收购,随后被社区抛弃而惨遭淘汰。后派生出来的分支称为 MariaDB。如果你在过去十年里曾运行过 apt-get install mysql
的命令,那么它很有可能安装的是 MariaDB,以透明的方式进行别名和替换。
长话短说。对 RedHat 来说,对 docker
=> podman
做同样的事情简直就好像在公园里散步一样。
谁会买下 Moby?
九轮融资共计 2.72 亿美元。要让投资者获得回报,出售价格必须相当高才行。
话虽如此。不要陷入一个常见的错误,认为公司就一定会失败,变得一文不值。按照硅谷的标准,一家不成功、没有增长的公司,仍然是一家非常受人尊敬的中型企业。一家只有几百名员工的普通企业可能价值 1 亿美元。人才收购或杀手级收购,可以带来 100 万美元的人均收入。
目前的员工人数显示公司在 100~250 人之间,不管用什么标准来衡量,这家公司都不值它所筹集到资金。
不过,更糟糕的情况可能还没有到来。这种趋势很有可能是下降而不是上升。我对看到本文的员工要道一声抱歉。员工们都在离开,他们可以从负面新闻和其他更好的机会看到潮流的转变。
唯一有价值的可能是公共镜像注册表。来自所有注册会员和组织的个人资料和联系方式(销售线索或其他货币化)。再加上一个直接的自动化部署管道,几乎可以连接到世界上的每家公司(暗黑模式和恶意软件的潜力是无穷无尽的)。回想一下,2012 年 SourceForge 以 2000 万美元的价格出售分发广告软件。
所有的东西都包括在内,还有些价值需要补偿。接近 8 位数而不是 10 位数。
请称我 Moby
即使有买家,假设是其中一个常见的潜在买家,如 RedHat/Pivotal/VMWare/AWS/Google/Microsoft。为什么今天买东西,明天就掉了一半价呢?当你已经把替代产品 / 服务卖得更好时,为什么还要去买呢?对于任何人来说,没有谁真正获得压力。
作者介绍:
The HFT Guy,定居英国伦敦的开发人员,掌握多种技能,拥有扎实的软件工程背景和硕士学位。他在软件公司、金融科技、航空航天、银行、咨询和政府项目方面有着广泛的经验。他的生活哲学理念是“活着是为了创造,创造是为了谋生。”HFT 是高频交易(High-frequency trading)的意思,作者以此为笔名,是为了勉励自己争取成功和成就。
原文链接:
The demise of docker and the rise of kubernetes
评论 3 条评论