本文发布时间已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。

Kubernetes 作为云原生 PaaS 的基础

随着 Kubernetes 作为构建和扩展基于容器的应用程序的关键工具持续获得发展势头,我们很高兴看到越来越多的平台即服务 (PaaS) 产品将其作为基础采用。PaaS 开发人员被 Kubernetes 的快速成熟、其核心架构概念的健全性以及其贡献者社区的强大力量所吸引。Kubernetes 生态系统持续增长,这些 PaaS 项目是其很好的补充。

Deis 是领先的 Docker PaaS,下载量超过一百万,并被 Mozilla、The RealReal、ShopKeep 和 Coinbase 等公司积极使用。Deis 为软件团队提供了一个交钥匙平台,用于在生产环境中运行容器,其特点是能够构建和存储 Docker 镜像、生产级负载均衡、简化的开发人员界面以及由世界一流的 24x7x365 支持支持的面向运维的日志记录和监控基础设施。在社区主导的对替代编排器的评估之后,很明显 Kubernetes 代表了谷歌在内部大规模运行容器的十年经验。Deis 项目很自豪能够重新基于 Kubernetes,并很高兴加入其充满活力的社区。” - Gabriel Monroy,Engine Yard, Inc. 的首席技术官。

Red Hat 的 OpenShift 通过使开发和 IT 运营团队更加敏捷、响应迅速和高效,帮助组织加速应用程序交付。OpenShift Enterprise 3 是第一个完全受支持的企业级、Web 规模的容器应用程序平台,它在 Red Hat Enterprise Linux 7 的基础上原生集成了 Docker 容器运行时和打包格式、Kubernetes 容器编排和管理引擎,所有这些都由 Red Hat 从操作系统到应用程序运行时完全支持。

“Kubernetes 为 OpenShift 用户提供了一个强大的应用程序编排模型,利用 Pod 和服务等概念来部署本质上跨越多个容器和需要将多个服务连接在一起的应用程序拓扑的(微)服务。Pod 可以选择映射到存储,这意味着您可以在 OpenShift 中运行有状态和无状态服务。Kubernetes 还提供了一个强大的声明式管理模型来管理应用程序容器的生命周期。然后,客户可以使用 Kubernetes 的集成调度器在多个主机上部署和管理容器。作为 Docker 和 Kubernetes 开源项目的主要贡献者,Red Hat 不仅仅是采用这些技术,而是在社区中积极地构建它们。” - Red Hat OpenShift 产品管理总监 Joe Fernandes。

华为是一家领先的全球 ICT 技术解决方案提供商,将为拥有基于 Docker 的应用程序的客户在公有云中提供基于 Kubernetes 构建的容器即服务 (CaaS)。华为 CaaS 服务将管理跨数据中心的多个集群,并为客户部署、监控和扩展具有高可用性和高资源利用率的容器。例如,华为目前面向其电信客户的软件产品之一在虚拟机中使用数万个模块和数百个实例。通过迁移到由 Kubernetes 驱动的基于容器的 PaaS 平台,华为正在将该产品迁移到基于微服务的云原生架构。通过解耦模块,他们正在创建一个高性能、可扩展的解决方案,该解决方案可在系统中运行数百甚至数千个容器。解耦现有的重型模块可能是一项痛苦的工作。但是,通过使用 Kubernetes 引入的几个关键概念,例如 Pod、服务、标签和代理,华为已经能够轻松地重新构建他们的软件架构。

华为已将 Kubernetes 作为基于容器的应用程序/服务的核心运行时引擎,并且他们一直在围绕 Kubernetes 构建其他 PaaS 组件或功能,例如用户访问管理、组合 API、门户和多集群管理。此外,作为迁移到新平台的一部分,他们正在增强其 PaaS 解决方案在高级调度算法、多租户支持和增强的容器网络通信方面的能力,以支持客户需求。

“华为选择 Kubernetes 作为我们产品的基础,因为我们喜欢用于建模和分布式应用程序的服务、Pod 和标签的抽象概念。我们基于这些概念开发了一个应用程序模型,用于对现有的复杂应用程序进行建模,这对于将传统应用程序迁移到云端非常有效。此外,华为希望我们的 PaaS 平台能够支持多种场景,而 Kubernetes 具有插件功能的灵活架构是我们平台架构的关键。”- 华为 PaaS 首席架构师熊鹰。

Gondor 是一个 PaaS,专注于整个生命周期的应用程序托管,从开发到测试,再到暂存到生产。它支持 Python、Go 和 Node.js 应用程序以及 Postgres、Redis 和 Elasticsearch 等技术。Gondor 团队最近重新构建了 Gondor 以集成 Kubernetes,并在博客文章中讨论了这一点。

“我们迁移到 Kubernetes 的主要原因有两个:一,通过以真正可扩展的方式处理底层,Kubernetes 使我们能够专注于在应用程序层提供出色的产品。二,Kubernetes 的可移植性使我们能够将我们的 PaaS 产品扩展到本地、私有云和多种替代基础设施提供商。” - Brian Rosner,Eldarion(Gondor 背后的驱动力)的首席架构师。

  • Martin Buhr,谷歌业务产品经理