关于本书
本书适合哪些人
本书主要面向那些希望学习Knative服务模块和服务模块概念及功能的人,笔者仅在需要的时候介绍Kubernetes的概念,除此之外,笔者主要讲解Knative。
笔者的目标是让没有Kubernetes使用经验的人能够上手使用Knative,不知道该目标能不能达成。笔者写了很多关于容器技术、云原生架构和Kubernetes的背景知识,希望能够给大家讲明白Knative。
写这本书的目的不是告诉你学习基本原理时会产生哪些问题。对笔者而言,一方面,是给你展示网络交互的函数示例;另一方面,要权衡讲解过程中是否要引出其他问题。笔者会简要提一下自身认为有关的内容(比如排队论),限于篇幅,不会过多地展开叙述。
本书的主要脉络
第1章主要介绍Knative及其在云计算中的定位。第2章引入Knative服务模块。第3章深入介绍Knative的服务和配置。第4章介绍路由。第5章的核心内容是自动扩/缩容。第6章主要介绍事件模块和CloudEvents。第7章介绍事件源和接收器(事件模块的主要概念)。第8章在第7章的基础上继续介绍事件代理、过滤器、串行消息和并行消息。第9章主要进行总结,笔者集中回答了“如何将软件投入生产环境”和“软件是否正在运行”这两个问题。
建议读者按顺序阅读本书,因为这样阅读起来会容易理解一些。当然,你先读Eventing,再读Serving也能读懂。
本书缺少一个正常运行的完整例子。笔者一开始考虑过,并写过一些草稿代码,不过后来都放弃了。一方面,因为笔者也在学习没用过的知识;另一方面,社区的代码发展得太快了,笔者可能面临刚写完完整的示例代码又要推倒重来的风险。不过在每章的上下文中会穿插相应的示例代码。
关于代码
本书中的大多数代码都是CLI命令和YAML文件。实际代码是用Go语言写的。
在线电子书论坛
购买本书可以免费访问由Manning出版社运营的官方在线论坛,可以在线对图书进行评论、提出技术问题并获得作者和其他用户的帮助。
Manning承诺提供一个可以让读者之间,以及读者和作者之间交流的场所。这不是作者对论坛参与程度的承诺,作者对论坛的贡献是自愿的。我们建议读者向作者提出一些具有挑战性的问题,以免作者失去兴趣!
其他在线资源
首先是Knative的官方网站,官方网站一直保持更新中。本书是为一般技术读者入门knative而写的。对于具体细节,Knative官方文档是一个非常推荐的参考。
另外,Knative社区也是一个开放并且对新手很友好的地方。快速熟悉Knative最好的方式是加入Knative的Slack频道,还有就是加入Knative用户的Google论坛,加入该论坛不仅可以为你提供Knative成员邮件列表,还可以访问共享的社区日历和工作文档。
每周的工作组会议都涉及各种主题,从服务API到自动缩放,再到操作和文档。同样,每周该项目的技术监督委员会都会收到一个工作组的最新消息,其中会介绍他们过去几个月的工作。所有的会议和会议纪要都做了记录,可以很容易地查找以前的对话。