程序员Docker容器技术

容器编排的作用和要实现的内容

2018-06-13  本文已影响27人  RaiseHead

Docker平台以及周边生态系统包含很多工具来管理容器的生命周期。例如,Docker Command Line Interface(CLI)满足在单个主机上管理容器的需求,但是面对部署在多个主机上的容器时就无所适从了。为了超越单个容器管理,我们必须转向编排工具。容器编排工具将生命周期管理能力扩展到部署在大量机器集群上部署的复杂的、多容器工作负载。

容器编排工具为开发人员和基础设施团队提供了一个抽象层来处理大规模的容器化部署。容器编排工具提供的特征在众多提供者之间有所不同,然而常见的公共特征包含准备、发现、资源管理、监视和部署。

由于微服务将应用程序分解为不同的微应用程序,许多开发人员会请求更多的服务器节点进行部署。为了正确地管理微服务,开发者倾向于在每个VM中部署一个微服务,这进一步降低了资源利用率。在许多情况下,这会导致CPU和内存的过度分配。

在许多部署中,微服务的高可用性需求迫使工程师添加越来越多的服务实例来进行冗余。实际上,尽管它提供了所需的高可用性,但这将导致出现一些未充分利用的服务器实例。一般而言,与单一应用程序部署相比,微服务部署需要更多的基础设施。由于基础设施成本的增加,许多组织未能看到微服务的价值。

为了解决上面提到的问题,我们需要一个工具能做到以下几点:

典型的容器编排工具有助于虚拟化一组机器并将它们作为单个集群管理。容器编排工具也有助于将机器上的工作负载或容器移动到消费者透明的位置。很多工具目前既支持基于DOCKER的容器,也支持非容器化二进制文件部署,例如独立的Spring Boot应用程序。这些容器编排工具的基本功能是从应用程序中抽象出实际的服务器实例。

容器编排工具的一些关键能力概括如下:

上一篇下一篇

猜你喜欢

热点阅读