- Helm学习指南:Kubernetes上的应用程序管理
- (美)马特·布彻 马特·法里纳 乔什·多利茨基
- 2159字
- 2025-04-08 08:52:27
前言
Helm是用于流行的开源容器管理平台Kubernetes的软件包管理器。
软件包管理器使平台更易于访问。使用Kubernetes等平台,你需要在上面运行软件,而且上面的大部分软件都是现成的或共享的。Helm这一软件包管理器以易于使用的方式对软件进行了打包,使你能够快速安装并使用某个软件。
使用软件包管理器,你可以很容易地与其他人共享某个软件。当某个平台上有各种各样的软件在运行时,此平台会更有用。开源项目和公司都喜欢让它们的软件在其运行的平台上易于安装,而Helm使Kubernetes做到了这一点。
软件包管理器不仅可以用来共享和使用他人的软件,它通常也是其他系统(如DevOps工具)不可分割的一部分,并被用作基础构件。
几乎每个现代平台都有一个软件包管理器。各种操作系统、编程语言和云平台都有某种形式的软件包管理器。
在本书中,你将了解Helm,它为Kubernetes提供了现代的软件包管理,以及你可以使用的软件包(称为chart)。你将学习如何使用Helm,如何创建软件包,以及如何与其他平台共享软件包。
本书受众
如果你是Kubernetes的新手,或者想学习如何安装现成的应用程序,本书将帮助你学习如何使用Helm达成目标。通过Helm安装应用程序要比通过Kubernetes手工安装应用程序容易得多,也快得多。
如果你为一家公司(或某个项目)工作,希望以一种简便的方式将应用程序分发给Kubernetes用户,那么这本书将教你如何使用Helm做到这一点。Helm能够帮助你快速安装应用程序,从而使项目启动更容易。
本书也是为DevOps专业人士准备的,通过学习本书,他们可以学会将Kubernetes软件包管理作为DevOps工具链的一部分来使用。Helm提供了强大的高级功能,可以作为其他自动化的基础构件。这些功能已经被用于在Kubernetes上部署复杂的大型应用程序,本书将教你如何利用这些功能。
为什么写作本书
我们不仅想提供文档中经常可以找到的技术细节,还想提供有关Helm能做什么以及为什么要这样做的背景和见解。
本书内容结构
前三章介绍Helm并展示如何使用Helm客户端。第1章概述了Helm在云原生生态系统中的位置及其架构。第2章和第3章介绍如何使用Helm客户端——从安装逐步过渡到高级用法。
第4~6章介绍了如何为Helm创建软件包。该部分从如何创建包(第4章)开始,然后学习模板语法(第5章),最后学习高级功能(第6章)。
第7章介绍了共享软件包,包括它们各自的发布版本。如果你正在使用DevOps进程将软件分发给其他人或在系统之间共享软件,则共享非常重要。
第8章介绍了Helm的扩展。可以在无须对其建立分支或增加功能的前提下,对Helm进行定制。
两个附录提供了参考资料。附录A概述了当前软件包和遗留软件包之间的区别,附录B介绍了用于共享包的存储库API。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。
等宽粗体(Constant width bold)
表示应由用户直接输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应由用户提供的值或由上下文确定的值替换的文本。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
示例代码
可以从https://github.com/masterminds/learning-helm下载补充材料(示例代码、练习、勘误等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布O’Reilly书籍中的示例代码需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处的形式包含书名、作者、出版社和ISBN,例如:
Learning Helm:Managing Apps on Kubernetes,作者Matt Butcher、Matt Farina和Josh Dolitsky,由O’Reilly出版,书号978-1-492-08365-8
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permissions@oreilly.com联系我们。
O’Reilly在线学习平台(O’Reilly Online Learning)
40多年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至bookquestions@oreilly.com。
本书配套网站https://oreil.ly/learning-helm上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站http://oreilly.com。
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://www.youtube.com/oreillymedia
致谢
感谢本书的技术审校者:Taylor Thomas、Jonathan Johnson和Michael Hausenblas。
感谢O’Reilly每一位帮助我们完成本书的人,尤其是John Devins和Jeff Bleiel。撰写本书的过程令人愉快。
Helm生态系统是来自世界各地的众多贡献者共同创建的。个人、非政府组织和公司已经合作开发出一种能够满足广泛需求的技术。从构建chart到提供修复程序,再到帮助其他人学习Helm,每个人都投入了时间和精力来优化代码。我们非常感谢他们。
最重要的是,我们要感谢我们各自的妻子和孩子在整个写作过程中付出的耐心和爱。