主页 topics 什么是容器编排? 什么是容器编排?
深入了解 IBM 的容器编排解决方案 订阅有关云计算的最新消息
包含电脑显示器、服务器、云朵、点的组合拼贴插图
什么是容器编排?

容器编排可自动调配、部署和管理容器化应用程序,并简化相关流程。

如今,Kubernetes 是最受欢迎的容器编排平台,大多数领先的公有云提供商(包括 Amazon Web Services (AWS)、Google Cloud Platform、IBM Cloud® 和 Microsoft Azure)都提供托管的 Kubernetes 服务。其他容器编排工具包括 Docker Swarm 和 Apache Mesos。

实现混合云的全部价值

连接和集成您的系统,为 AI 准备基础设施。

相关内容

注册以获取有关 DaaS 的指南

详细了解容器及其需要编排的原因

容器是可执行的轻量应用程序组件,它将应用程序源代码与在任何环境中运行代码所需的所有操作系统 (OS) 库和依赖项合并在一起。

在几十年前,就可以创建容器了,但直到 2008 年 Linux 在其内核中包含容器功能时,容器才变得广泛可用。随着 2013 年推出 Docker 开源容器化平台,容器才获得广泛使用。(Docker 非常流行,以至于“Docker 容器”和“容器”经常互换使用。)

虚拟机 (VM) 相比,容器(更具体地说,容器化微服务无服务器函数)更小、资源效率更高且可移植性更好,因此,已成为现代云原生应用程序事实 计算单元。(有关容器优点的更多信息,请参阅下面的交互式数据可视化内容)

在数量较少时,很容易手动部署和管理容器。但在大多数组织中,容器化应用程序数量正在快速增长,需要对其进行批量管理。特别是,作为持续集成/持续交付 (CI/CD) 或 DevOps 管道的一部分,没有自动化是无法实现的。

进入容器编排,这会自动执行部署和运行容器化应用程序和服务的操作任务。根据最新的 IBM 研究,70% 使用容器的开发人员宣称使用容器编排解决方案,其中的 70% 开发人员宣称在组织中使用完全托管(云托管)的容器编排服务。

下载完整报告:企业中的容器
容器编排的工作原理

虽然不同工具的方法和功能存在差异,但容器编排本质上是一个三步过程(作为敏捷迭代管道或 DevOps 管道的一部分时,称为周期)。

大多数容器编排工具支持声明性配置模式:开发人员编写配置文件(采用 YAML 或 JSON 格式,具体取决于工具)以定义所需的配置状态。运行该文件的编排工具利用自身的智能实现该状态。配置文件通常:

  • 定义应用程序由哪些容器映像组成以及它们位于何处(在哪个注册表中)。

  • 为容器配置存储和其他资源。

  • 定义并保护容器之间的网络连接。

  • 指定版本控制(用于分阶段或金丝雀部署)。

编排工具计划将容器(和容器副本,用于实现弹性)部署到主机中。它根据可用的 CPU 容量、内存或配置文件中指定的其他要求或限制选择最佳主机。

在部署容器后,编排工具根据容器定义文件(通常是 Dockerfile)管理容器化应用程序生命周期。其中包括:

  • 管理容器之间的可扩展性(扩展和缩减)、负载均衡和资源分配。

  • 在发生中断或系统资源短缺时,将容器移动到另一个主机以确保可用性和性能。

  • 收集和存储用于监控应用程序运行状况和性能的日志数据和其他遥测数据。

容器编排的优势


可能很明显,容器编排的主要优势在于自动化,这不仅仅是因为它大大减少了管理大型容器化应用程序的工作量并降低了其复杂性。通过自动执行操作,编排支持敏捷或 DevOps 方法,以使团队能够以快速迭代的周期进行开发和部署,并更快地发布新的特性和功能。

此外,编排工具的智能化可以使容器化的许多固有优势得到强化或延伸。例如,基于声明式配置的自动主机选择和资源分配可以最大限度提高计算资源利用率;自动运行状况监控和重新定位可最大限度提高容器可用性。

Kubernetes

如上所述,Kubernetes 是最受欢迎的容器编排平台。Kubernetes 与容器生态系统中的其他工具相结合,使公司能够提供高效的平台即服务 (PaaS)。解决云原生应用程序开发的很多基础设施和运营相关任务和问题,以便开发团队可以专注于编码和创新。

Kubernetes 相比其他编排解决方案具有多项优势,主要由于其在多个领域均可提供更加全面、复杂的功能,包括:

  • 容器部署。Kubernetes 将指定数量的容器部署到指定主机中,并将这些容器以所需状态保持运行。

  • 发布。发布是对部署的更改。Kubernetes 可用于启动、暂停、恢复或回滚发布。

  • 服务发现。Kubernetes 可以使用 DNS 名称或 IP 地址自动将容器公开到互联网或其他容器。

  • 存储资源调配。开发人员可以根据需要将 Kubernetes 设置为容器挂载持久性本地存储或云存储。

  • 负载均衡和可扩展性。当容器的流量激增时,Kubernetes 可以利用负载均衡和扩展功能将流量分配到整个网络,以确保稳定性和性能。(还为开发人员省去了设置负载均衡器的工作。)

  • 自我复原,可实现高可用性。当容器出现故障时,Kubernetes 可以自动重启或替换容器。还可以删除不符合运行状况检查要求的容器。

     
  • 支持多个云提供商和跨云移植。如前所述,Kubernetes 得到了所有领先云提供商的广泛支持。对于将应用程序部署到混合云或混合多云环境中的企业来说,这一功能尤其重要。

  • 开源工具生态系统不断壮大。Kubernetes 还具有一系列不断扩展的可用性和联网工具,以通过 Kubernetes API 增强其功能。其中包括 Knative(允许容器作为无服务器工作负载运行)和 Istio(开源服务网格)。

了解有关 Kubernetes 的更多信息

相关解决方案
Red Hat OpenShift on IBM Cloud

Red Hat OpenShift on IBM Cloud 在公有和混合环境中利用 OpenShift,以提高速度、市场响应能力、可扩展性和可靠性。

探索 Red Hat OpenShift on IBM Cloud
IBM Cloud Satellite

借助 IBM Cloud Satellite,企业可随时随地在本地、边缘和公共云环境中启动协调一致的云服务功能。

探索 IBM Cloud Satellite
IBM Cloud Code Engine

将容器映像、批处理作业或源代码作为无服务器工作负载运行,无需调整大小、部署、联网或扩展。

探索 IBM Cloud Code Engine
借助 IBM Turbonomic 优化 Kubernetes

自动确定合适的资源分配操作(以及何时执行这些操作),以帮助确保您的 Kubernetes 环境和任务关键型应用程序精准获得满足服务级别目标 (SLO) 所需的资源。

探索 IBM Turbonomic
资源 企业中的容器

据 IBM 的最新研究记录,容器和 Kubernetes 的采用率增长势头强劲。

兼具云和传统 IT 的最佳功能

容器编排是开放混合云策略的关键组成部分,支持企业从任何地方构建和管理工作负载。

什么是 Docker?

Docker 是一个用于构建、部署和管理容器化应用程序的开源平台。

采取后续步骤

借助 Red Hat OpenShift on IBM Cloud,开发人员能够以快速、安全的方式在 Kubernetes 集群中构建和部署容器化工作负载。减少涉及安全管理、合规性管理、部署管理和持续生命周期管理的繁琐、重复性任务。

深入了解 Red Hat OpenShift on IBM Cloud 免费试用