泛在平台
今天,Kubernetes 是最流行的容器编排平台。它由所有主要软件公司联合开发和支持,并由所有主要的云提供商作为服务提供。它支持 Linux 和 Windows 系统以及所有主要的编程语言。Kubernetes 可以协调和自动化无状态和有状态的应用程序、批处理作业、周期性任务和无服务器工作负载。它是新的应用可移植层,也是云上所有人的共同点。如果你是一个以云为目标的软件开发者,那么 Kubernetes 有可能迟早会成为你日常生活的一部分。
混合职责
近年来,越来越多的应用的非功能性需求被云原生平台作为能力提供。分布式应用的响应能力,如供应、部署、服务发现、配置管理、作业管理、资源隔离和健康检查等都由 Kubernetes 来实现。随着微服务架构的普及,即使是实现一个简单的服务,也需要对分布式技术栈和容器编排基础知识有很好的理解。因此,开发人员必须精通现代编程语言来实现业务功能,同样也要精通云原生技术来解决非功能需求。
本书内容
在本书中,我们介绍了 Kubernetes 中最流行的 24 种模式,归纳起来有以下几种。
- 基础模式代表了容器化应用必须遵守的原则,以便成为优秀的云原生公民。无论应用程序的性质如何,以及您可能面临的限制,您都应该致力于遵循这些准则。遵循这些原则将有助于确保您的应用程序适合在 Kubernetes 上实现自动化。
- 行为模式描述了 Pod 和管理平台之间的通信机制和交互。根据工作负载的类型,一个 Pod 可以作为批处理作业运行直至完成,或者被安排定期运行。它可以作为一个守护服务或单人服务运行。选择正确的管理基元将帮助你以所需的保证运行 Pod。
- 结构模式专注于在 Pod 中构建和组织容器,以满足不同的用例。拥有好的云原生容器是第一步,但还不够。重用容器并将其组合到 Pod 中以实现所需结果是下一步。
- 配置模式涵盖了根据云上不同的配置需求对应用进行定制和调整。每个应用都需要配置,没有一种方式适合所有应用。我们探索从最常见到最专业的模式。
- 高级模式探索不适合任何其他类别的更复杂的主题。有些模式,比如 Controller 已经很成熟了 — Kubernetes本身就是建立在它的基础上的,而有些模式还是新的,在你读这本书的时候可能会改变。但这些模式涵盖了云原生开发者应该熟悉的基本思想。
最后的话
就像所有美好的事物一样,本书已经到了尾声。我们希望你喜欢阅读本书,并希望它改变了你对 Kubernetes 的思考方式。我们真正相信,Kubernetes 和源于它的概念将和面向对象的编程概念一样,成为基础。这本书是我们尝试创建四人帮设计模式,但针对容器编排。我们希望这不是结束,而是你的 Kubernetes 之旅的开始;对我们来说也是如此。
:::success Happy kubectl-ing. :::