Kubernetes是云原生开发的事实标准。它是一个功能强大的工具,可以使应用程序开发更容易、部署更快、运行更可靠。但是,只有正确使用Kubernetes才能发挥它最大的价值。本书的目标读者是那些需要将应用程序部署到Kubernetes,并且有兴趣学习可用于构建在Kubernetes之上的应用程序的模式和实践的人。
值得指出的是,本书并不是Kubernetes的入门指南。我们假设你对Kubernetes API和工具有基本的了解,并且知道如何创建Kubernetes集群并与之交互。如果你想学习Kubernetes,可以找到很多优秀的资源,例如 Kubernetes : Up and Running (O’Reilly)。
这本书面向的是那些想要深入了解如何在Kubernetes上部署特定应用程序和工作负载的人。无论你是刚准备将第一个应用程序部署到Kubernetes,还是已经使用Kubernetes多年,本书都会对你有帮助。
我们四人对如何帮助人们将应用程序部署到Kubernetes有着丰富的经验。基于这些经验,我们清楚地知道人们的痛点在哪里,然后帮助他们找到成功之道。在编写本书时,我们试图总结这些经验,以便更多的人可以学习在实践中积累的知识。同时我们希望能够将这些经验记录下来并且传播出去,使人们能够独立地在Kubernetes上成功部署和管理应用程序。
很可能你会一口气就把整本书从头到尾浏览完,但这并不是我们真正希望的。相反,我们将本书设计成一个独立章节的集合。每一章都完整阐述了可能需要使用Kubernetes完成的特定任务。你可以根据需要学习本书以了解某个特定的主题或感兴趣的部分,然后将它放在一边,直到有新的主题要了解时再拿起它。
尽管采用了这种章节独立的组织方法,但还是会有一些主题贯穿多个章节。有几章是关于Kubernetes上的应用程序开发的。第2章介绍开发者工作流。第5章探讨持续集成和测试。第15章介绍如何在Kubernetes上构建更高层的平台。第16章论述状态管理和有状态应用。除了应用程序开发之外,还有几章是关于Kubernetes中的服务运维的。第1章介绍如何搭建一个基本服务。第3章介绍监控和度量指标。第4章介绍配置管理。第6章介绍版本控制与发布。第7章介绍应用程序的全球化部署。
还有一些关于集群管理的章节,包括关于资源管理的第8章、关于网络的第9章、关于Pod安全的第10章、关于集群策略与治理的第11章、关于多集群管理的第12章以及关于准入控制与授权的第17章。最后,有几章是完全独立的,其中包括外部服务集成(第13章)和机器学习(第14章)。
尽管在付诸实践之前先阅读所有章节可能会很有用,但我们更希望你能将本书当作参考手册来使用。它旨在作为指南,为你在实际工作中实践这些主题时提供指导。
本书中使用以下排版约定:
斜体( Italic )
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(
Constant width
)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。
等宽粗体(
Constant width bold
)
表示应由用户直接输入的命令或其他文本。
等宽斜体(
Constant width italic
)
表示应由用户提供的值或由上下文确定的值替换的文本。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
可以从 https://oreil.ly/KBPsample 下载补充材料(示例代码、练习等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布O’Reilly书籍中的示例代码需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处的形式包含书名、作者、出版社和ISBN,例如:
Kubernetes Best Practices ,作者Brendan Burns、Eddie Villalba、Dave Strebel和Lachlan Evenson,由O’Reilly出版,书号978-1-492-05647-8
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过 permission@oreilly.com 联系我们。
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/KubBP 上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站 http://www.oreilly.com 。
我们在Facebook上的地址: http://facebook.com/oreilly
我们在Twitter上的地址: http://twitter.com/oreillymedia
我们在YouTube上的地址: http://www.youtube.com/oreillymedia
Brendan要感谢家人Robin、Julia和Ethan,感谢他们的爱以及提供的支持。没有他们,这一切都不可能实现。还要感谢合作者,如果没有他们,本书就不会存在。
Dave要感谢美丽的妻子Jen,以及三个孩子Max、Maddie和Mason,感谢他们的支持。还要感谢Kubernetes社区多年来提供的所有建议和帮助。最后,感谢合作者让这次冒险成为现实。
Lachlan要感谢妻子和三个孩子的爱与支持。还要感谢Kubernetes社区的每一个人,包括多年来花时间指导他的那些了不起的人。还要特别感谢Joseph Sandoval对他的指导。最后,要感谢出色的合作者,是他们让本书成为可能。
Eddie要感谢妻子Sandra,感谢她的精神支持,感谢她即使在怀孕后期也让他能够连续消失几个小时来写作。也要感谢刚出生的女儿Giavanna,是她给了他前进的动力。最后,要感谢Kubernetes社区和合作者,他们一直是他在云原生之旅上的路标。
我们都要感谢Virginia Wilson,他负责编写手稿并帮助我们将所有想法融合在一起,还要感谢Bridget Kromhout、Bilgin Ibryam、Roland Huß和Justin Domingus对本书的定稿提供的帮助。