Knative 最佳實踐 Knative in Action

Jacques Chester 趙吉壯,楊雲鋒

買這商品的人也買了...

商品描述

Serverless是一種雲原生開發模型,它使得開發人員可以專註於構建和運行應用,而無須管理服務器。Knative是繼雲原生之後,雲時代下一個十年技術的Serverless架構,開發者應如何擁抱這一全新的技術架構?本書將給讀者帶來答案。Knative是Google發起的,基於Kubernetes構建的Serverless開源項目,Google內部的 CloudRun就是基於Knative構建的Serverless平臺。本書主要通過一個計數器示例在Knative中的實踐展開描述,詳細講解了Knative 的服務與事件驅動,以及在企業應用中如何利用Knative實現自動擴/縮容、事件驅動、灰度發布等。本書內容翔實、講解深入淺出、語言詼諧幽默,對於想瞭解、學習與研究Knative或者Serverless 的讀者來說,是一本大有裨益的參考書。本書適合的讀者有雲原生從業者、Serverless架構師及開發人員,以及想深入瞭解Serverless的互聯網從業人員。

目錄大綱

D1章介紹

1.1 Knative是什麼

1.1.1 部署、升級和流量路由

1.1.2 自動擴/縮容

1.1.3 事件模塊

1.2 Knative能幹什麼

1.3 Knative的優勢

1.3.1 具有不可預測性、延遲不敏感性的工作負載

1.3.2 合併多個事件源

1.3.3 微服務拆分

1.4 計數器應用

1.5 版本變更

1.6 Knative系統組件

1.6.1 服務模塊

1.6.2 事件模塊

1.6.3 服務模塊和事件模塊

1.7 Knative控制器

1.7.1 反饋控制

1.7.2 循環嵌套

1.8 準備好開始了嗎

1.9 z結

D2章Knative服務模塊

2.1 演練

2.1.1 1個部署

2.1.2 D二個部署

2.1.3 狀態

2.1.4 Active表示什麼

2.1.5 修改鏡像

2.1.6 分流

2.2 服務模塊

2.2.1 控制器和協調器

2.2.2 網絡鉤子

2.2.3 網絡控制器

2.2.4 自動縮放器、激活器和隊列代理

2.3 z結

D3章配置和修訂

3.1 記錄歷史發布記錄並對其進行發布

3.2 部署版本的概念

3.2.1 藍/綠部署

3.2.2 金絲雀部署

3.2.3 漸進式部署

3.2.4 回到未來

3.3 剖析配置

3.3.1 配置的狀態

3.3.2 通過kubectl describe查看配置

3.4 剖析修訂版本

3.4.1 修訂版本的基本概念

3.4.2 容器的基本概念

3.4.3 容器鏡像

3.4.4 容器啟動命令

3.4.5 直接設置環境變量

3.4.6 間接設置環境變量

3.4.7 通過文件來設置配置文件

3.4.8 健康檢查

3.4.9 設置資源限制

3.4.10 容器的並發

3.4.11 超時時間

3.5 z結

D4章路由

4.1 使用kn操作路由

4.2 剖析路由

4.3 剖析流量目標

4.3.1 配置名稱和版本名稱

4.3.2 Z新版本

4.3.3 標籤

4.4 z結

D5章自動擴/縮容

5.1 自動擴/縮容問題

5.2 零實例下的自動擴/縮容

5.3 少量實例狀態下的自動擴/縮容

5.4 大量實例狀態下的自動擴/縮容

5.5 自動擴/縮容理論

5.5.1 控制迴路

5.5.2 隊列

5.6 擴/縮容算法

5.7 配置自動擴/縮容

5.7.1 配置是如何設置的

5.7.2 設置擴/縮容限制

5.7.3 設置擴/縮容比率

5.7.4 設置目標值

5.7.5 設置決定週期

5.7.6 設置窗口大小

5.7.7 設置恐慌閾值

5.7.8 設置目標突發容量

5.7.9 其他自動縮放器

5.8 警告

5.9 z結

D6章事件模塊

6.1 CloudEvents之路

6.2 剖析CloudEvents

6.2.1 必需屬性

6.2.2 可選屬性

6.2.3 擴展屬性

6.3 事件格式和協議綁定那些事兒

6.3.1 結構化內容模式

6.3.2 二進制內容模式

6.3.3 批處理內容模式

6.4 演練

6.5 事件模塊的基礎架構

6.5.1 消息傳遞

6.5.2 事件

6.5.3 事件源

6.5.4 事件流

6.5.5 鴨子類型

6.6 z結

D7章事件源和接收器

7.1 事件源

7.1.1 解析事件源

7.1.2 使用kn處理事件源

7.2 接收器

7.3 SinkBinding和ContainerSource

7.4 其他事件源

7.5 z結

D8章過濾器和事件流

8.1 代理

8.2 過濾器

8.2.1 過濾自定義屬性

8.2.2 事件模塊提供的好東西

8.3 順序事件

8.4 剖析順序事件

8.4.1 步驟

8.4.2 回复

8.4.3 通道模板和通道

8.4.4 混合順序事件和過濾器

8.5 並行事件

8.6 處理失敗

8.6.1 重試和退避

8.6.2 死信消息

8.6.3 壞消息

8.7 z結

D9章從概念到生產

9.1 將軟件變成可運行的東西

9.1.1 使用摘要

9.1.2 使用雲原生構建包和pack工具

9.2 將軟件帶到它運行的地方

9.3 了解軟件是如何運行的

9.3.1 日誌

9.3.2 指標

9.3.3 追踪

9.4 z結

附錄A 安裝kubectl和kn

附錄B 安裝Knative