社区所有版块导航
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 的兴起

高效开发运维 • 4 年前 • 522 次点击  

作者 | THEHFTGUY
译者 | Sambodhi
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 麻烦大了》,由此可见一斑。

本文最初发表在 The HFT Guy 的个人博客,经原作者授权,由 InfoQ 中文站翻译并分享。

就在几年前,Docker 遍地开花。每一家中小企业都采用它,或者即将采用它。

3~5 年后,Docker 还剩下什么?嗯,不多。

让我们将这个问题换一种说法,以便说得更准确些。现在,有哪家公司还会关心 Docker?令人惊讶的是,答案居然为零。

这个世界总是在不断前进。

Docker 就业前景如何?  

如果你只是 Docker 专家,那么,你现在就有麻烦了。现在没有什么岗位需要 Docker 的专业知识,而你就要面临失业的危险了。

Docker 专家的意思是,非常熟悉容器化概念和特定于 Docker 的实现,以及在生产环境中构建、运行和调试容器的经验。

以下是 2017 年的典型面试问题:

  • 什么是 Docker?

  • 什么是容器?

  • 虚拟机和容器之间的区别是什么?

  • 什么是构建 Docker 映像的最佳实践?

  • 如何构建容器?

  • 映像存储在哪里?

  • 什么是 cgroups?

  • 你能说出一些 Docker 的命令吗?

以下是 2019 年的 6 个典型面试问题:

  • 什么是 pod?

  • 什么是部署?

  • 什么是有状态集?

  • 如何在不停机的情况下更新应用程序?

  • 什么是命名空间?什么时候使用?

  • 你能说出一些 Kubernetes 的命令吗?

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 位数。

即使有买家,假设是其中一个常见的潜在买家,如 RedHat、Pivotal、VMWare、AWS、Google、Microsoft。为什么今天买东西,明天就掉了一半价呢?当你已经把替代产品 / 服务卖得更好时,为什么还要去买呢?对于任何人来说,没有谁真正获得压力。

作者介绍

THEHFTGUY,定居英国伦敦的开发人员,掌握多种技能,拥有扎实的软件工程背景和硕士学位。他在软件公司、金融科技、航空航天、银行、咨询和政府项目方面有着广泛的经验。他的生活哲学理念是“活着是为了创造,创造是为了谋生。”HFT 是高频交易(High-frequency trading)的意思,作者以此为笔名,是为了勉励自己争取成功和成就。

原文链接:

https://thehftguy.com/2019/10/22/the-demise-of-docker-and-the-rise-of-kubernetes/


活动推荐

3000+开发者现场撸代码是一种什么体验?11月6日-7日,首届腾讯Techo开发者大会将在北京举办,100+海内外技术专家齐聚一堂,2天18个专场,分享AI、5G、云计算等前沿热点技术架构与最佳应用实践,与开发者共同探讨技术革新之路。6个动手实操专场,极客互动带你现场撸代码,更有Ipad等礼品等你来拿。

扫描下图二维码或者点击阅读原文链接立即免费报名。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47830
 
522 次点击