最近,我出版了我的第一本书,《Kubernetes Operator 框架书》,由 Packt Publishing 出版。写书一直是我个人的目标,因此,我能够通过撰写关于我最喜欢的主题之一:Kubernetes 的书来实现这个目标,这似乎很合适。
我的 Kubernetes 之旅始于 2016 年,当时我在 Red Hat OpenShift 担任软件工程师。在那里,我有机会与开源社区中最聪明的人一起工作(并向他们学习)。我亲身学习了应用于广泛企业用例的 Kubernetes 开发的最佳实践。当我看到 OpenShift 4 的发展成型时,我亲眼目睹了 Kubernetes Operator 的功能发挥到极致,因为该平台几乎完全围绕 Operator 模式构建。在那里,Operator 不仅仅是次要的自动化或部署控制器;它们实际上为整个 Kubernetes 发行版提供动力。我很幸运能够亲眼目睹 Operator 在行动中的变革性展示。
不幸的是,我仍然在社区中遇到一些人对 Operator、它们的工作原理以及它们可以为云开发人员和客户带来的好处感到困惑。似乎 Operator 是一个很多人都好奇的话题,但很少有人有资源真正投入去探索。
这就是我想写这本书的原因:提供 Operator 的高级入门概述及其用途的广泛可能性,以便更多人可以学习并受益于在他们的集群中运行它们。我感觉我的经验为我提供了关于 Operator 开发和用例的新颖视角,这样我就可以通过独特的叙述来解释它们。
这种叙述为《Kubernetes Operator 框架书》构建了一个故事情节,为读者提供了 Operator 开发生命周期的整体、大局观指南。本书首先介绍了 Operator 的基本主题,分为三个支柱:Operator SDK、OLM 和 OperatorHub。这些支柱分别代表 Operator 生命周期中的三个主要阶段:编码、部署和分发。
在介绍之后,本书继续探讨 Operator 的一些技术能力,并为一个基本 Operator 确定了一个示例用例,该用例作为贯穿本书其余部分的单个示例。该示例将 Operator 框架的不同支柱串联在一起,形成一个统一的教程,用于开发、运行和发布 Operator(用 Go 编写)。在此过程中,这包括诸如设计 CRD、使用 Operator SDK 工具以及实现额外的功能(例如使用 Prometheus 进行指标报告,以向您的 Operator 添加可观察性洞察)等主题。最后,探讨了 Operator 开发人员在持续维护方面的角色和职责,例如何时以及如何发布新版本以及如何使您的依赖项与更广泛的 Kubernetes 项目生态系统保持同步。所有这些主题都通过第三方 Operator 的一些案例研究进行了总结,这些案例研究经过临床解剖,以演示通过本书教程在实际应用中学到的概念。
本书的目标不是为构建 Operator 提供所有答案,而是激发关于 Operator 如何最好地为您和您的用户服务的想法。通过 Operator 开发的视角来构建常见的软件开发概念(例如,理解用户的特定需求和应对诸如弃用之类的挑战),《Kubernetes Operator 框架书》的阅读体验与许多专注于深入技术细节和高级主题的教科书不同。对于熟悉 Kubernetes、听说过 Operator 并好奇 Operator 开发可以为他们的组织带来何种影响的读者来说,这是一本对话式的入门书。
研究和撰写本书是一次非常有益的经历,如果没有 Kubernetes 社区中无数导师花时间教我这项出色的技术,这一切都不可能实现。《Kubernetes Operator 框架书》是我为回报这种恩情所做的尝试,并希望将我所学到的一些知识传递给所有其他渴望学习的人,他们让这个社区如此伟大。我希望您像我享受写作过程一样喜欢阅读它。
1 条评论