容器编排
cloud leadspace
容器编排

容器编排旨在自动执行并简化容器化应用的部署和管理。

特色产品

Red Hat OpenShift on IBM Cloud

IBM Cloud Satellite

IBM Cloud Code Engine

IBM Cloud Kubernetes Service


什么是容器编排?

容器编排旨在自动执行容器的配置、部署、网络、扩展、可用性以及生命周期管理。 目前,Kubernetes 是最受欢迎的容器编排平台;包括 Amazon Web Services (AWS)、Google Cloud Platform、IBM Cloud 和 Microsoft Azure 在内的大多数主要的公有云提供商都提供 Kubernetes 管理服务。 其他容器编排工具包括 Docker Swarm 和 Apache Mesos。


有关容器以及为何容器需要编排的更多信息

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

尽管创建容器的能力已存在了几十年,但直到 2008 年它才得到广泛应用,那时  Linux  在内核中包含了容器功能;而到了 2013 年,随着  Docker  开源 容器化平台的出现,容器得到了进一步普及。 (Docker 非常受欢迎,以至于“Docker 容器”和“容器”这两个词经常互换使用。) 

由于和 虚拟机  (VM) 相比,容器(更具体地说是容器化 微服务 或 无服务器 功能)“体积”更小、资源效率更高、移植性更好,因此已成为现代云原生 应用 事实上的 计算 单位 。 (要了解有关容器的优点的更多信息,请查看以下互动式的数据可视化内容)

如果数量较少,以人工方式就足以轻松地部署和管理容器。 但在大多数组织中, 容器化应用 的数量在迅速增加,如果没有 自动化

功能,大规模管理这些容器就无从谈起,尤其是在 持续集成/持续交付  (CI/CD) 或  DevOps  管道中。

而容器编排可以自动执行有关 部署 和运行 容器化应用 和服务的操作任务。 根据 最新的  IBM  研究报告  (PDF, 1.4MB), 在使用容器的开发人员中,有 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 的更多信息


容器编排与 IBM Cloud

容器是理想的 应用现代化 和  IT 基础架构优化工具。 来自  IBM  Cloud 的容器服务基于 Kubernetes 之类的 开源 技术 , 可促进和加快您的 云原生 应用开发之旅;这些服务使用开放式混合云方法,集成了来自私有云、 公有云 和 本地  IT 基础架构的最佳特性与功能。

采取下一步行动:

要想立即开始体验,请 注册 IBM Cloud 账户。


相关解决方案

实现应用现代化

信心十足地在任何云中安全地构建和管理应用并使之现代化


优化 IT 基础架构

开放式混合云战略使您可以随时随地构建和管理工作负载,而不会被供应商锁定


本地 IT 基础架构

利用开放、灵活且安全的本地基础架构解决方案,解锁混合云战略