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