《Learning Helm》是由 Matt Butcher、Matt Farina 和 Josh Dolitsky 共同撰写的 Helm 学习指南,由 O’Reilly Media 出版。本书旨在帮助读者全面了解 Helm——Kubernetes 的官方包管理器,包括其架构、使用方法以及如何创建和共享 Helm 包(称为 charts)。书中不仅涵盖了 Helm 的基础知识,还深入探讨了其高级功能,适合 Kubernetes 新手、希望简化应用部署的开发人员以及需要将 Helm 集成到 DevOps 流程中的专业人士。
内容结构
第一部分:Helm 基础
- 第1章:Helm 介绍
介绍了 Helm 在 Kubernetes 生态系统中的位置,包括其设计理念、架构以及与 Kubernetes 资源的关系。详细解释了 Helm 的三个主要目标:简化 Kubernetes 的使用、提供包管理功能以及强调安全性和可配置性。
- 第2章:使用 Helm
详细介绍了 Helm 客户端的安装、配置以及如何通过 Helm 搜索、安装、升级和删除 Kubernetes 应用程序。通过实际操作示例,帮助读者快速上手。
第二部分:创建 Helm 包
- 第3章:创建 Helm 包
介绍了如何创建 Helm 包(charts),包括包的结构、模板语法以及如何使用默认配置文件(values.yaml
)。
- 第4章:模板开发
深入探讨了 Helm 的模板语言,包括如何使用 Go 模板引擎、如何处理条件语句、循环以及如何查询 Kubernetes 资源。
- 第5章:高级特性
涵盖了 Helm 的高级功能,如生命周期钩子、依赖管理、测试以及如何使用图表仓库。
第三部分:Helm 的扩展与实践
- 第6章:共享 Helm 包
介绍了如何将 Helm 包存储在图表仓库中,并通过仓库进行分发和版本管理。详细讨论了如何使用 Helm 的仓库命令以及如何创建和维护自己的仓库。
- 第7章:Helm 的扩展性
探讨了 Helm 的可扩展性,包括如何通过插件和启动器(starters)来扩展 Helm 的功能。介绍了 Helm 插件的开发和使用,以及如何将现有的 Helm 图表转换为启动器。
特色与亮点
- 实战性强:书中通过大量实际操作示例,帮助读者快速掌握 Helm 的使用方法。
- 覆盖面广:从 Helm 的基础概念到高级功能,再到实际应用和扩展,内容全面且系统。
- 注重安全与可配置性:强调了 Helm 在安全性和可配置性方面的设计,帮助读者在实际部署中避免常见问题。
- 社区支持:作者作为 Helm 项目的维护者,书中内容得到了社区的广泛认可和支持。
适用读者
- Kubernetes 新手:希望快速了解如何在 Kubernetes 上安装和管理应用程序的用户。
- 开发人员:需要将应用程序打包并部署到 Kubernetes 的开发人员。
- DevOps 专业人员:希望将 Helm 集成到自动化部署流程中的运维人员。
- 技术领导者:需要评估 Helm 在企业级应用中的可行性和优势的技术决策者。
总结
《Learning Helm》是一本全面且实用的 Helm 学习指南,适合不同层次的读者。无论你是 Kubernetes 的初学者,还是需要在生产环境中使用 Helm 的专业人士,这本书都能为你提供宝贵的指导和参考。