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

对 Kubernetes 的押注,Red Hat 的视角

两年前,红帽在 Kubernetes 上下了一个很大的赌注。我们赌的是一个简单的想法:开源社区是构建未来应用程序编排的最佳场所,而且只有开源社区才能成功整合取得成功所需的各种能力。作为一名红帽员工,这个想法并不牵强——我们看到它在许多社区中都得到了成功应用,但我们也看到了它的失败,尤其是在广泛的覆盖范围没有坚实的基础支持时。在 Kubernetes 1.0 发布一周年,以及 Kubernetes 项目首次开源提交两年后,值得问一个问题

Kubernetes 的赌注下对了吗?

软件的成功是通过其用户的成功来衡量的——无论该软件是否为他们带来了新的机会或效率。在这方面,Kubernetes 的成功超出了我们最疯狂的梦想。我们知道数百个 Kubernetes 的实际生产部署,包括通过红帽的多租户 OpenShift 发行版在企业中的部署、在 Google Container Engine (GKE) 上的部署,在一些世界最大的软件公司运行的高度定制版本中的部署,以及通过教育、娱乐、初创公司和 DIY 社区进行的部署。这些部署者报告说交付时间缩短、应用程序生命周期标准化、资源利用率提高以及应用程序更具弹性和稳健性。而这仅仅是来自社区的客户或贡献者的情况——如果现在有数千个 Kubernetes 安装管理着数万个实际应用程序,我也不会感到惊讶。

我相信这种覆盖范围是对 Kubernetes 背后愿景的验证:通过为分布式计算中的每个核心模式提供工具,来构建一个适用于所有应用程序的平台。这些模式包括:

  • 简单的复制 Web 软件
  • 分布式负载均衡和服务发现
  • 在容器中运行的不可变镜像
  • 将相关软件共同部署到 Pod 中
  • 简化网络附加存储的消费
  • 灵活且强大的资源调度
  • 在服务工作负载旁边运行批处理和计划作业
  • 管理和维护集群软件,如数据库和消息队列

允许开发人员和运维人员转向下一个抽象层级,就像他们使 Google 和其他科技生态系统中的公司扩展到数据中心计算机及更远一样。从 Kubernetes 1.0 到 1.3,我们不断提高平台的强大性和灵活性,同时还提高了性能、可扩展性、可靠性和可用性。在 Kubernetes 之上运行的集成和工具的爆炸式增长进一步验证了核心架构决策是 可组合的、公开 开放和灵活的 API、并且有意限制核心平台并鼓励扩展。

今天,Kubernetes 拥有开源生态系统中最大、最具活力的社区之一,拥有近千名贡献者,GitHub 上任何单一存储库项目的最高的人工生成提交率之一,一千多个基于 Kubernetes 的项目,以及相应的活跃的 Stack Overflow 和 Slack 频道。红帽很自豪能成为这个生态系统的一部分,作为仅次于 Google 的 Kubernetes 最大贡献者,而且每天都有更多的公司和个人加入我们。Kubernetes 的想法找到了肥沃的土壤,而你们,社区,提供了使其成长的兴奋和承诺。

那么,我们赌对了吗?由于以上所有原因以及数百个其他原因:是的

下一步是什么?

虽然我们对 Kubernetes 的成功感到高兴,但这绝不是休息的时候!尽管我们想在 Kubernetes 中构建更多功能和改进,但我认为我们已经达成共识,我们希望专注于唯一重要的长期目标——围绕 Kubernetes 建立一个健康、成功且蓬勃发展的技术社区。正如约翰·肯尼迪可能说过的那样:

> 不要问你的社区能为你做什么,而要问你能为你的社区做什么

在最近发布到 kubernetes-dev 列表的一篇文章中,Brian Grant 列出了一系列出色的近期目标——这些目标有助于社区的成长、改进我们的执行方式并实现未来的扩展。在每个 Kubernetes 特殊兴趣小组中,我们都在努力建立能够跨公司和社区执行的可持续团队,并且我们正在积极努力确保每个 SIG 都能够在同一项目愿景下为各种不同的利益做出贡献、协调和交付。

我们特别感兴趣的是扩展的故事——Kubernetes 的核心如何成为数据中心操作系统的跳动心脏,并支持更多应用程序管理模式在 Kubernetes 之上构建,而不是构建到 Kubernetes 中。在 1.2 和 1.3 版本中围绕第三方 API、API 发现、灵活的调度策略、外部授权和身份验证(超出 Kubernetes 内置的那些)所做的工作仅仅是一个开始。当有人有需求时,我们希望他们能够轻松找到解决方案,而且我们也希望其他人能够轻松地消费和贡献该解决方案。同样,证明想法的最佳方法是针对实际需求进行原型设计,并针对实际问题进行迭代,这应该简单而自然。

在 Kubernetes 的两周年生日之际,我希望回顾一下充满改进、用户成功和社区参与的一年。为 Kubernetes 做出贡献是一种荣幸和荣耀,而且仍然感觉我们才刚刚开始。谢谢大家,我希望你们能加入我们的旅程!