黄金岛官网

当前位置:企业应用软件行业动态 → 正文

Kubernetes vs.Docker:了解容器和编排

责任编辑:cres 作者:Serdar Yegulalp |来源:黄金岛官网  2019-11-25 11:00:54 原创文章 黄金岛官网

人们需要了解Docker和Kubernetes如何改变应用法式开发,以及这些关键容器技术如何融合在一起。
 
如果了解软件开发的最新趋势,那么人们总会听到这两个术语:Docker和Kubernetes,它们实质上是容器和编排的代称。
 
Docker容器赞助简化了通过开发和测试以及进入生产环境的应用法式迁移过程,而Docker和Kubernetes都赞助重新构建了应用法式的构建和安排方式,也就是作为微服务集合而不是单一堆栈的方式。
 
Docker和Kubernetes为什么如此重要?它们如何改变软件开发?以及它们各自在过程中饰演什么角色?以下对这些问题进行解答。
 
Docker和容器
 
容器是在Linux、Windows和其他现代操作系统中,允许软件在自力于系统其他部分的小型环境中运行。容器被比方为虚拟机,但它们不是虚拟机,容器更精简,启动和停止更快,而且更加灵活和可迁移。由于容器可以在几秒钟内运行或扩展,因此它们使在诸如云平台之类的弹性环境中运行应用法式变得更加容易。
 
Linux和其他操作系统多年来一直支持容器化应用法式,但使用容器并不完全是用户友好的。无论是开源的还是商业化的Docker,它都使容器成为一种用户友好和开发者友好的商品。Docker为容器提供了一组通用的工具,因此用户可以将应用法式打包到容器映像中,以便在自己的组织或其他地方轻松安排和重用。
 
简而言之,Docker可以轻松创建容器映像,对其进行版本控制、共享、移动它们,以及将它们作为运行中的容器安排到与Docker兼容的主机中。
 
什么时候使用Docker和容器?
 
Docker和容器最适合用户处理必须具有以下一项或多个特性的工作负载:
 
•弹性可扩展。用户如果不知道需要运行多少个应用实例能力满足需求。可以通过安排更少或更多容器实例来扩展容器化应用或服务以满足需求。
 
•隔离。用户如果不希望这个应用法式干扰其他应用法式。也许将同时运行多个版本的应用法式,以满足分歧版本的API。或者用户想坚持底层系统的清洁。
 
•可迁移性。用户需要在各种环境中运行该应用法式,而且要求每个设置都具有可复制性。容器使用户可以打包应用法式的整个运行时环境,从而使该应用法式易于安排与Docker兼容主机的任何位置,其中包含开发人员桌面、QA测试机、本地裸机或远程云。
 
Kubernetes和容器编排
 
容器的设计主要是为了使进程或应用法式与底层系统彼此隔离。创建和安排单个容器很容易。然则,如果用户要将多个容器(例如,数据库、Web前端、计算后端)组装到可以作为一个整体进行管理的大型应用法式中,而不必担心安排、连接、管理,并分别扩展每个容器?用户需要一种方法把所有的部分编成一个功能完整的整体。
 
这就是Kubernetes要做的工作。如果说容器是邮轮上的乘客,那么Kubernetes就是邮轮的主管。
 
Kubernetes基于谷歌公司创建的项目,提供了一种自动化跨多个主机安排和管理多容器应用法式的方法,而无需直接管理每个容器。开发人员描述了应用法式跨多个容器的结构,其中包含每个容器如何使用网络和存储等详细信息。Kubernetes在运行时处理其余的部分,它还处理诸如机密和应用法式配置之类的琐碎细节的管理。
 
Kubernetes需要一定的专业知识能力很好地使用,尽管它比过去更像是一个交钥匙解决方案。易用性方面的某些进步归因于常见应用的简便配方(Helm图表);部分原因是由知名厂商(Red Hat、Canonical、Docker)发布的大量Kubernetes发行版,这些发行版与流行的应用法式堆栈和开发框架紧密结合。
 
什么时候使用Kubernetes和容器?
 
为少数用户提供服务的简单容器化应用通常不需要编排,更不消说Kubernetes了。然则,如果应用法式拥有的功能级别或用户数量跨越微不足道的水平,则很难不重新开发编排系统所提供的功能。这是确定何时采取容器的一些经验法则。
 
•如果应用法式很复杂。任何涉及两个以上容器的应用法式都可以满足要求。也就是说,仅通过少量的解决方案(例如Docker群模式)而不是Kubernetes可以精心支配仅服务于少量用户的适度应用。
 
•如果应用法式对扩展性和弹性有很高的要求。Kubernetes和其他协调器使用户可以通过描述系统的期望状态,而不是人工编程对变更的条件的反应来平衡负载,并运行容器以声明式地满足需求。
 
•如果想充分利用现代连续集成 (CI)/连续交付(CD)技术。编排系统支持安排或升级的应用法式的安排模式。
 
也许会有一天,Docker和Kubernetes甚至会被更友好的抽象所取代,并让位于更优雅的方式来创建和管理容器。然则到目前为止,Docker和Kubernetes对于了解和理解容器和编排至关重要。
 
版权声明:本文为黄金岛官网编译,转载需注明出处为:黄金岛官网,如果不注明出处,黄金岛官网将保存追究其法律责任的权利。

关键字:企业应用软件

原创文章 黄金岛官网

Kubernetes vs.Docker:了解容器和编排 扫一扫
分享本文到朋友圈

关于我们联系我们版权声明友情链接广告服务会员服务投稿黄金岛官方招贤纳士

企业网版权所有©2010-2019 京ICP备09108050号-6

^