商品参数
Knative实战:基于Kubernetes的无服务器架构实践
出版社:
机械工业出版社
定 价:
89
版 次:
1
出版日期:
2021年03月
开 本:
16开
装 帧:
平装
页 数:
284
字 数:
重 量:
ISBN:
9787111675587
本书从实战角度讲解了Knative的原理与开发。
全书正文一共11章,共4个部分:
一、准备篇(第壹~2章)
全面介绍了Serverless,Knative的概念、优势、架构设计、工作原理,以及开发环境的搭建。
二、基础篇(第3~5章)
详细讲解了Knative的三大核心组件:Serving、Eventing和Tekton pipeline。
三、实战篇(第6~8章)
主要介绍了Knative的云原生微服务的设计与实现、Knative的FaaS实现,以及性能优化相关的主题。
四、扩展篇(第9~11章)
讲解了与Knative相关的日志中心、监控报警平台和可视化工具。
前言
准备篇
第壹章 全面认识Knative 2
1.1 Serverless的前世今生 2
1.1.1 Serverless简介 2
1.1.2 Serverless的主要特征 3
1.1.3 Serverless的优缺点 3
1.1.4 Serverless的发展现状 4
1.1.5 Serverless的使用场景 4
1.2 什么是Knative 4
1.2.1 Knative的产生背景及发展历程 5
1.2.2 Knative的架构设计 5
1.2.3 Knative的主要受众群 6
1.2.4 Knative的商业托管服务产品 7
1.3 Knative开发运维需要具备的基础知识 7
1.3.1 容器 7
1.3.2 Kubernetes 8
1.3.3 Istio 9
1.4 本章小结 10
第2章 搭建Knative运行环境 11
2.1 在Kubernetes平台上安装Knative 11
2.1.1 Istio平台的安装 12
2.1.2 安装Knative Serving组件 13
2.1.3 安装Knative Eventing组件 14
2.1.4 安装可观察性组件 14
2.2 部署HelloWorld应用 15
2.2.1 Serving Hello World范例 15
2.2.2 Eventing Hello World范例 16
2.3 本章小结 19
基础篇
第3章 Knative的服务管理组件Serving 22
3.1 Serving的架构设计 22
3.2 Knative相关的Kubernetes Service 23
3.3 Autoscaler的工作流程 24
3.4 Queue Proxy 25
3.5 本章小结 26
第4章 Knative的事件驱动组件Eventing 27
4.1 Eventing的架构设计 27
4.1.1 总体设计目标 28
4.1.2 Eventing的基础概念 28
4.1.3 事件传递方式 29
4.2 关于CloudEvent 30
4.2.1 CloudEvent简介 30
4.2.2 术语 30
4.2.3 上下文属性 32
4.2.4 事件数据 34
4.2.5 大小限制 34
4.2.6 隐私与安全 35
4.2.7 示例 35
4.3 事件源 35
4.3.1 核心事件源 35
4.3.2 社区贡献的事件源 36
4.3.3 Google Cloud Source 36
4.4 Broker/Trigger事件模型 36
4.4.1 工作原理 37
4.4.2 默认代理配置 37
4.4.3 Broker/Trigger模型范例 38
4.5 事件注册表 39
4.5.1 事件发现 39
4.5.2 事件订阅 40
4.5.3 填充事件注册表 42
4.6 事件流控制 43
4.6.1 Sequence 43
4.6.2 Parallel 44
4.7 事件通道 45
4.7.1 当前可用的通道 45
4.7.2 默认通道设置 45
4.8 本章小结 46
第5章 基于Tekton的CI/CD平台 47
5.1 Tekton概述 47
5.1.1 Tekton的优势 47
5.1.2 Tekton的组件构成 48
5.1.3 Tekton的资源对象 48
5.2 Tekton的概念模型 49
5.2.1 Step、Task和Pipeline 49
5.2.2 输入与输出资源 50
5.2.3 TaskRun与PipelineRun 51
5.2.4 Tekton的运作方式 51
5.3 Tekton Pipeline资源对象详解 52
5.3.1 Task 52
5.3.2 TaskRun 66
5.3.3 Pipeline 74
5.3.4 PipelineRun 97
5.3.5 条件资源 111
5.3.6 变量替换 113
5.3.7 基于Git与Docker Registry的身份验证 117
5.3.8 基于Kubectl向Kubernetes集群持续部署 124
5.4 Trigger 126
5.4.1 TriggerTemplate 126
5.4.2 TriggerBinding 128
5.4.3 EventListener 131
5.4.4 将EventListener暴露给外部 138
5.4.5 ClusterTriggerBinding 138
5.4.6 CEL表达式扩展 139
5.5 Dashborad简介 140
5.5.1 Dashboard主要支持功能 140
5.5.2 Dashboard常用功能示例 141
5.6 安装Tekton Pipeline及相关组件 143
5.6.1 Tekton Pipeline安装 143
5.6.2 Tekton Dashborad安装 145
5.6.3 Tekton Trigger安装 145
5.7 应用CI/CD配置示例 146
5.7.1 Java语言配置示例 146
5.7.2 PHP语言配置示例 151
5.8 本章小结 155
实战篇
第6章 基于Knative的云原生应用的设计实现 158
6.1 云原生应用的设计原则 158
6.2 使用Knative的服务管理组件管理应用 160
6.2.1 部署一个Knative Service 161
6.2.2 更新Knative Service Configuration 164
6.2.3 流量分发到不同版本 166
6.2.4 蓝绿部署与灰度发布 167
6.2.5 Knative Service的弹性伸缩配置 170
6.3 使用事件驱动组件解耦服务依赖 172
6.3.1 部署一个Knative事件驱动应用 172
6.3.2 使用通道与订阅方式传递事件 175
6.3.3 与Apache Kafka集成 177
6.3.4 ContainerSource事件源 180
6.3.5 PingSource事件源 182
6.3.6 Parallel 183
6.3.7 Sequence 187
6.3.8 SinkBinding 190
6.3.9 GitHub事件源 191
6.4 本章小结 194
扩展篇
第7章 Serving组件的扩展配置 196
7.1 自动扩缩容的配置 196
7.1.1 全局或修订版范围设置 196
7.1.2 Class 197
7.1.3 度量指标 198
7.1.4 目标值 198
7.1.5 缩放边界 202
7.1.6 KPA特性设置 203
7.2 路由管理 208
7.2.1 定制Knative服务的主域名 208