Knative實戰:基於Kubernetes的無伺服器架構實踐(2021年機械工業出版社出版的圖書)

Knative實戰:基於Kubernetes的無伺服器架構實踐(2021年機械工業出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Knative實戰:基於Kubernetes的無伺服器架構實踐》是2021年機械工業出版社出版的圖書。作者是李志偉,游楊。本書從架構設計、功能、原理、開發、運維5個維度對Knative進行了全面的剖析,系統地講解了基於Knative的無伺服器架構解決方案。

基本介紹

  • 中文名:Knative實戰:基於Kubernetes的無伺服器架構實踐
  • 作者:李志偉、游楊
  • 出版社:機械工業出版社
  • ISBN:9787111675587
內容簡介,圖書目錄,作者簡介,

內容簡介

本書從架構設計、功能、原理、開發、運維5個維度對Knative進行了全面的剖析,系統地講解了基於Knative的無伺服器架構解決方案。作者融合了在Kubernetes、Serverless領域的工程實踐,詳細介紹了Knative在服務管理、事件驅動、自動化構建部署方面的核心概念、架構設計及套用實踐。同時,通過大量的示例展示了Knative管理無伺服器套用的過程。
全書共9章,分為4個部分:
*部分 準備篇(第1~2章)
首先介紹了Serverless和Knative的概念和基礎知識,然後講解了Knative的架構設計和工作環境搭建;
第二部分 基礎篇(第3~5章)
首先分析了Knative的服務管理組件和事件驅動組件的功能和工作原理,然後講解了如何如何通過Tekton實現無伺服器套用的CI/CD;
第三部分 實戰篇(第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 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
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

作者簡介

李志偉
噹噹網雲原生實驗室負責人,容器雲領域專家。在Kubernetes、Istio、Serverless、DevOps工具等領域有深入的研究和實踐。熱心於雲原生技術的套用與推廣,曾榮獲“K8sMeetup中國社區”受歡迎講師獎項。
游楊
噹噹網雲原生實驗室高級運維開發工程師。先後參與Kubernetes和Knative項目的落地與實施工作,擁有豐富的容器平台實踐經驗,聚焦於Kubernetes、Serverless、CI/CD技術領域。

相關詞條

熱門詞條

聯絡我們