登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』Knative实战:基于Kubernetes的无服务器架构实践

書城自編碼: 3610831
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 李志伟,游杨
國際書號(ISBN): 9787111675587
出版社: 机械工业出版社
出版日期: 2021-03-01

頁數/字數: /
書度/開本: 108开 釘裝: 平装

售價:HK$ 111.3

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
银幕艳史:都市文化与上海电影(1896-1937)(典藏本)
《 银幕艳史:都市文化与上海电影(1896-1937)(典藏本) 》

售價:HK$ 147.2
淮南子的思想世界
《 淮南子的思想世界 》

售價:HK$ 78.2
汉阙漫漫隐官道 : 东汉二百年政争与兵事
《 汉阙漫漫隐官道 : 东汉二百年政争与兵事 》

售價:HK$ 227.7
甲骨文丛书·魏玛共和国:1918~1933
《 甲骨文丛书·魏玛共和国:1918~1933 》

售價:HK$ 194.4
中文版Photoshop数码照片处理全视频实践228例(溢彩版)
《 中文版Photoshop数码照片处理全视频实践228例(溢彩版) 》

售價:HK$ 135.7
一木倒,万物生:树的第二次生命
《 一木倒,万物生:树的第二次生命 》

售價:HK$ 62.1
大乔小乔
《 大乔小乔 》

售價:HK$ 67.9
文化遗产管理规划:场所及其意义
《 文化遗产管理规划:场所及其意义 》

售價:HK$ 101.2

 

內容簡介:
本书从架构设计、功能、原理、开发、运维5个维度对Knative进行了全面的剖析,系统地讲解了基于Knative的无服务器架构解决方案。作者融合了在Kubernetes、Serverless领域的工程实践,详细介绍了Knative在服务管理、事件驱动、自动化构建部署方面的核心概念、架构设计及应用实践。同时,通过大量的示例展示了Knative管理无服务器应用的过程。
全书共9章,分为4个部分:
*部分 准备篇(第1~2章)
首先介绍了Serverless和Knative的概念和基础知识,然后讲解了Knative的架构设计和工作环境搭建;
第二部分 基础篇(第3~5章)
首先分析了Knative的服务管理组件和事件驱动组件的功能和工作原理,然后讲解了如何如何通过Tekton实现无服务器应用的CICD;
第三部分 实战篇(第6章)本书从架构设计、功能、原理、开发、运维5个维度对Knative进行了全面的剖析,系统地讲解了基于Knative的无服务器架构解决方案。作者融合了在Kubernetes、Serverless领域的工程实践,详细介绍了Knative在服务管理、事件驱动、自动化构建部署方面的核心概念、架构设计及应用实践。同时,通过大量的示例展示了Knative管理无服务器应用的过程。
全书共9章,分为4个部分:
*部分 准备篇(第1~2章)
首先介绍了Serverless和Knative的概念和基础知识,然后讲解了Knative的架构设计和工作环境搭建;
第二部分 基础篇(第3~5章)
首先分析了Knative的服务管理组件和事件驱动组件的功能和工作原理,然后讲解了如何如何通过Tekton实现无服务器应用的CICD;
第三部分 实战篇(第6章)
通过多个案例讲解了如何基于Knative完成云原生应用的设计实现;
第四部分 扩展篇(第7~9章)
详细讲解了Knative平台的运维,包括Serving组件的扩展配置、日志中心解决方案以及监控报警平台的实现。
目錄
前言
准备篇
第1章 全面认识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 BrokerTrigger事件模型 36
4.4.1 工作原理 37
4.4.2 默认代理配置 37
4.4.3 BrokerTrigger模型范例 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的CICD平台 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 应用CICD配置示例 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
7.2.2 DNS泛域名解析配置 211
7.2.3 服务的可见范围控制 212
7.3 网络与安全 213
7.3.1 证书管理工具cert-manager 213
7.3.2 手动配置TLS证书 214
7.3.3 自动配置TLS证书 216
7.4 运维相关配置 220
7.4.1 从私有容器镜像仓库部署应用 220
7.4.2 组件高可用配置 221
7.5 本章小结 222
第8章 日志中心 223
8.1 基于EFK的日志中心解决方案 223
8.1.1 EFK基础功能介绍 223
8.1.2 应用日志格式说明 223
8.1.3 添加Fluentd配置 224
8.1.4 配置Kibana索引模式 225
8.1.5 数据搜索展示 225
8.1.6 创建可视化图表 225
8.1.7 创建仪表盘 227
8.2 本章小结 229
第9章 监控报警平台 230
9.1 基于Prometheus和Grafana的监控报警平台 230
9.1.1 Prometheus 230
9.1.2 Grafana 233
9.2 Knative仪表盘 233
9.3 本章小结 238
附录 239
內容試閱
Serverless一直是开发者的美好愿望,也是软件开发目标最终回归本质的选择。随着云原生平台逐渐成熟并成为主流解决方案,Serverless计算平台已经有了长足的进步。2020年,行业中的各大Serverless计算平台变得更加通用。例如,通过预留资源完全消除冷启动对延时的影响,使得延时敏感的在线应用也能够使用Serverless方式构建。同时,Serverless生态不断发展,在应用构建、安全、监控报警等领域涌现出了很多开源项目和创业公司,工具链越来越成熟。用户对Serverless的接受度不断提高,传统企业也开始采用Serverless技术。Serverless正在如下几方面持续演进。
1)Serverless的使用场景从偏离线业务进一步扩展到在线业务。以FaaS为代表的Serverless技术一开始都是从对响应时间不敏感、事件驱动的偏离线业务入手的。现在,我们已经看到,包括AWS Lambda Provisioned Capacity和Azure Functions Premium plan在内的产品都是让用户付出一点额外的成本来换取更短的响应时间。这对于在线业务来说,无疑是更适合的。
2)Serverless不仅赋予了应用弹性计算的能力,也推动了基础设施和后端服务的无服务器化。业务代码托管给Serverless平台之后,即可实现自动扩缩容、按请求计费。但是,如果基础设施和相关服务不具备实时扩缩容能力,那么业务整体就不是弹性的。我们已经看到AWS围绕Lambda对VPC网络、数据库连接池等资源做了大量实时弹性优化,相信其他厂商也会跟进,进而使行业整体加速基础设施和各类云服务的无服务器化。
3)以Knative为代表的开源解决方案受到越来越多的关注。尽管各个云厂商都在大力推广自己的Serverless产品,但是开发者普遍还是会担心被厂商绑定,因此具备一定规模的组织会基于开源方案,如Knative,搭建自己的Serverless平台。一旦某个开源方案成为主流,云厂商就会主动去兼容开源标准并增大社区投入。
4)Serverless开发者工具和框架会更加多样。IDE、问题诊断、持续集成发布等配套的工具和服务会更加完善。我们将看到更多的成功案例和实践。
5)Java持续发展,将成为Serverless平台的主流语言之一。Serverless平台要求应用的镜像足够小,以便能够快速分发,同时要求应用的启动时间极短。虽然在这些方面,Java和Node.js、Python等语言相比有差距,但是Java社区一直在不断努力。我们看到Java通过Java 9 Modules以及GraalVM Native Image等技术在不断瘦身。主流框架Spring也开始拥抱GraalVM,而新的框架如Quarkus和Micronaut也在力争突破。期待Java在Serverless领域给人焕然一新的感觉。
6)解决FaaS状态传递的中间层(加速层)研究或产品有望得到突破。未来,Serverless在函数计算场景下最大的挑战是函数之间串联需要状态传递,以及函数处理时频繁和外部交互带来的时延放大,等等。在传统架构下,状态传递和函数处理都是在一个程序进程内部完成的。上述挑战需要通过可计算中间层(加速层)来解决。可计算中间层是未来学术研究和产品攻坚的方向之一。
7)基于WebAssembly(WASM)的FaaS方案有望出现。Docker创始人Solomon Hykes曾说:如果2008年有WASM和WASI,我们当时就没有必要创造Docker了。这句话在一定程度上说明了WASM的重要性。虽然当下WASM更多是作为一种运行在浏览器端的技术被人了解,但是它具备非常优秀的安全隔离能力、极快的启动速度,并支持超过20种语言。那么,为什么不能让它运行在服务端呢?这些技术特性都非常契合FaaS的要求。
事实上,随着Knative社区的快速发展壮大,Knative已经成为Kubernetes平台上最佳的Serverless解决方案。与传统的FaaS平台不同,Knative的服务管理并不需要统一的开发框架支持,应用只要封装成可运行的容器即可。这极大地扩展了Knative的适用范围,同时也使得传统微服务可以更加平滑地转换成Serverless应用。
基于此,我们希望能够为开发者提供一本系统学习Knative的工具书,从Serverless的概念到Knative的实战,努力将Knative的全貌展现给读者,也希望Knative能够为企业提升工程效率、降低计算成本。
本书内容
全书分为4篇,具体内容如下。
准备篇(第1~2章):通过介绍Serverless与Knative项目的技术背景、架构设计以及相关的云原生平台基础设施,帮助读者了解Serverless技术。通过快速搭建Knative测试平台,使读者直观地感受Knative是如何管理应用的。
基础篇(第3~5章):通过对Knative Serving和Eventing组件、CICD平台的介绍,帮助读者全面了解各个组件的基础概念、架构设计及原理。
实战篇(第6章):采用多个实际范例来验证Knative的服务管理能力以及事件驱动基础设施的能力。
扩展篇(第7~9章):详细介绍了运维Knative平台需要关注的内容,包括Serving的高级配置、日志中心、监控平台。
本书的读者对象
对Serverless技术感兴趣的读者。
想要将Knative引入当前技术栈的架构师。
想要采用Serverless技术的应用开发者。
想要自己维护Knative Serverless平台的运维开发人员。
勘误与支持
如果你在阅读本书的过程中有任何问题或者建议,可以在GitHub的源码仓库提交Issue或者以PR的方式进行交流。我们会对你提出的问题、建议进行梳理,并在本书后续版本中及时做出勘误与更新。
Knative是一个开源项目,书中使用了官方的示例源代码,读者可以通过以下链接获取相关内容。
Knative项目官网:https:knative.dev。
Knative项目源代码:https:github.comknative。
本书在GitHub上的源码仓库:https:github.comknativebookknative-practices。
致谢
在本书的写作过程中,作者得到了众多同事及朋友的鼓励,在此对他们表示感谢。感谢机械工业出版社华章公司的策划编辑杨福川老师、责任编辑董惠芝老师,是他们的鼓励才让我们能够坚持写完本书。也感谢Knative开源社区的贡献者,是他们辛勤、无私的工作,让我们得以与Serverless如此近距离接触。谢谢大家!

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.