本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes 作为云原生 PaaS 的基础
随着 Kubernetes 作为构建和扩展基于容器的应用程序的关键工具持续获得发展势头,我们很高兴看到越来越多的平台即服务 (PaaS) 产品将其作为基础。PaaS 开发人员被 Kubernetes 吸引,原因在于其快速的成熟度、核心架构概念的健全性以及贡献者社区的强大。 Kubernetes 生态系统持续增长,这些 PaaS 项目为其增添了光彩。
“Deis 是领先的 Docker PaaS,拥有超过一百万次下载,并被 Mozilla、The RealReal、ShopKeep 和 Coinbase 等公司积极使用。Deis 为软件团队提供了一个即插即用的平台,用于在生产环境中运行容器,其特点是能够构建和存储 Docker 镜像、生产级负载均衡、简化的开发人员界面以及一套由世界一流 24x7x365 支持支持的运维就绪的日志和监控基础设施。经过社区主导的对替代编排器的评估,很明显 Kubernetes 代表了 Google 在大规模运行容器方面十年的经验。Deis 项目很自豪能以 Kubernetes 为基础,并很高兴能加入其充满活力的社区。”——Engine Yard, Inc. 首席技术官 Gabriel Monroy。
Red Hat 的 OpenShift 通过使开发和 IT 运维团队更加敏捷、响应迅速和高效,帮助组织加速应用程序交付。OpenShift Enterprise 3 是第一个完全支持、企业就绪、Web 规模的容器应用程序平台,它原生集成了 Docker 容器运行时和打包格式、Kubernetes 容器编排和管理引擎,并以 Red Hat Enterprise Linux 7 为基础,所有这些都由 Red Hat 从操作系统到应用程序运行时提供全面支持。
“Kubernetes 为 OpenShift 用户提供了一个强大的应用程序编排模型,利用 Pod 和 Service 等概念来部署本质上跨多个容器的(微)服务以及需要连接多个服务的应用程序拓扑。Pod 可以选择性地映射到存储,这意味着您可以在 OpenShift 中运行有状态和无状态服务。Kubernetes 还提供了一个强大的声明式管理模型来管理应用程序容器的生命周期。客户可以使用 Kubernetes 的集成调度器在多个主机上部署和管理容器。作为 Docker 和 Kubernetes 开源项目的主要贡献者,Red Hat 不仅采用这些技术,而且还在社区中积极构建它们。”——Red Hat OpenShift 产品管理总监 Joe Fernandes。
华为,全球领先的 ICT 技术解决方案提供商,将在公共云中为使用基于 Docker 的应用程序的客户提供基于 Kubernetes 构建的容器即服务(CaaS)。华为 CaaS 服务将跨数据中心管理多个集群,并以高可用性和高资源利用率为客户部署、监控和扩展容器。例如,华为目前为电信客户提供的一款软件产品在虚拟机中使用了数万个模块和数百个实例。通过迁移到由 Kubernetes 提供支持的基于容器的 PaaS 平台,华为正在将该产品迁移到基于微服务的云原生架构。通过解耦模块,他们正在创建一个高性能、可扩展的解决方案,该解决方案可在系统中运行数百甚至数千个容器。解耦现有的重量级模块可能是一项艰巨的任务。然而,通过使用 Kubernetes 引入的一些关键概念,如 Pod、Service、Label 和 Proxy,华为能够非常轻松地重新架构其软件。
华为已将 Kubernetes 作为基于容器的应用程序/服务的核心运行时引擎,并围绕 Kubernetes 构建了其他 PaaS 组件或功能,例如用户访问管理、复合 API、Portal 和多集群管理。此外,作为向新平台迁移的一部分,他们正在高级调度算法、多租户支持和增强容器网络通信等领域增强其 PaaS 解决方案,以支持客户需求。
“华为选择 Kubernetes 作为我们产品的基础,因为我们喜欢服务、Pod 和标签这些抽象概念,它们非常适合建模和分布式应用程序。我们基于这些概念开发了一个应用程序模型,用于建模现有的复杂应用程序,这对于将传统应用程序迁移到云端非常有效。此外,华为的 PaaS 平台旨在支持多种场景,而 Kubernetes 灵活的架构及其插件能力是我们平台架构的关键。”——华为 PaaS 首席架构师熊英。
Gondor 是一个 PaaS,专注于应用程序从开发到测试、暂存到生产的整个生命周期的托管。它支持 Python、Go 和 Node.js 应用程序以及 Postgres、Redis 和 Elasticsearch 等技术。Gondor 团队最近重新架构了 Gondor 以整合 Kubernetes,并在博客文章中讨论了这一点。
“我们转向 Kubernetes 的主要原因有两个:第一,通过真正可扩展的方式处理底层,Kubernetes 让我们能够专注于在应用层提供出色的产品。第二,Kubernetes 的可移植性使我们能够将 PaaS 产品扩展到本地部署、私有云和众多替代基础设施提供商。”——Eldarion(Gondor 背后的推动力)首席架构师 Brian Rosner。
- 马丁·布尔,谷歌业务产品经理