Google聯手IBM:Istio架構一統微服務世界 | 被動收入的投資秘訣 - 2024年9月
![](https://www.books.com.tw/img/001/083/18/0010831810.jpg)
Google聯手IBM:Istio架構一統微服務世界
在微服務浪潮的推動之下,微服務的治理成為新的技術熱點,從Linkerd提出Service Mesh(服務網格)概念開始,這一理念的幾個相關產品經過一番短暫較量,Google/IBM/Lyft合作推出的 Istio 系統成為目前服務網格技術的事實標準。
本書圍繞Istio 對服務網格的概念、歷史和能力,以各種實例為基礎,試圖從基本概念開始,結合實際工作場景和企業試點採納步驟,進行易於上手和了解的說明,提供給讀者對這一新生系統一個相對完整的應用指南。
透過作者對Istio 的深入了解和實戰經驗,可以幫助讀者快速入門和實作。
本書主要內容:
■ 服務網格的歷史
■ 服務網格的基本特性
■ Istio 基本介紹
■ Istio 快速入門
■ 用Helm 部署Istio
■ Istio 的常用功能
■ HTTP 流量管理
■ Mixer 介面卡的應用
■ Istio 的安全強化
■ Istio 的試用建議
本書特色
◎圍繞Istio核心特性,精選應用場景
◎快速入門Istio、了解Service Mesh
作者簡介
崔秀龍
HPE軟體分析師;Istio、Kubernetes專案成員;Istio.io主要貢獻者之一;《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸》作者;自動化、馬拉松愛好者。
01 服務網格的歷史
1.1 Spring Cloud
1.2 Linkerd
1.3 Istio
1.4 服務網格的興起
02 服務網格的基本特性
2.1 連接
2.2 安全
2.3 策略
2.4 觀察
03 Istio 基本介紹
3.1 Istio 的核心元件及其功能
3.2 核心設定物件
3.3 小結
04 Istio 快速入門
4.1 環境介紹
4.2 快速部署Istio
4.3 部署兩個版本的服務
4.4 部署用戶端服務
4.5 驗證服務
4.6 建立目標規則和預設路由
4.7 小結
05 用Helm 部署Istio
5.1 Istio Chart 概述
5.2 全域變數介紹
5.3 Istio 安裝清單的產生和部署
5.4 小結
5.5 高頻頻譜
06 Istio 的常用功能
6.1 在網格中部署應用
6.2 修改Istio 設定
6.3 使用Istio Dashboard
6.4 使用Prometheus
6.5 使用Jaeger
6.6 使用Kiali .
6.7 小結
07 HTTP 流量管理
7.1 定義目標規則
7.2 定義預設路由
7.3 流量的拆分和移轉
7.4 金絲雀部署
7.5 根據來源服務進行路由
7.6 對URI 進行重新導向
7.7 通訊逾時控制
7.8 故障重試控制
7.9 入口流量管理
7.10 出口流量管理
7.11 新增Gateway 控制器
7.12 設定服務熔斷
7.13 故障植入測試
7.14 流量複製
08 Mixer 介面卡的應用
8.1 Mixer 介面卡簡介
8.2 以Denier 介面卡為基礎的存取控制
8.3 以Listchecker 介面卡為基礎的存取控制
8.4 使用MemQuota 介面卡進行服務限流
8.5 使用RedisQuota 介面卡進行服務限流
8.6 為Prometheus 定義監控指標
8.7 使用stdio 輸出自訂記錄檔
8.8 使用Fluentd 輸出記錄檔
8.9 小結
09 Istio 的安全強化
9.1 Istio 安全強化概述
9.2 啟用mTLS
9.3 設定RBAC
9.4 RBAC 的校正過程
10 Istio 的試用建議
10.1 Istio 本身的突出問題
10.2 確定功能範圍
10.3 選擇試用業務
10.4 試用過程
前言
✤ 為什麼寫作本書
Google 聯合IBM、Lyft 推出的Istio,一經問世就受到了人們的普遍關注,其熱度迅速攀升,將Service Mesh(服務網格)的命名者Linkerd遠遠拋在身後,成為Service Mesh 方案的代表專案。筆者從Istio 問世開始,便和ServiceMesher 社區及許多同樣看好Istio 的朋友一起,持續關注和參與Istio 專案,並在該過程中對Service Mesh 的技術生態及Istio本身的來龍去脈有了一定的認識。
在和社區互動的過程中,筆者看到有很多使用者對這一新生事物一頭霧水,因此斗膽寫作本書,將Istio 中的部分概念和案例重新整理,以快速入門的形式,對Istio 的基礎用法一一說明,並在書末列出一些試用方面的建議。
✤ 本書適合讀者群
本書針對對服務網格技術有興趣,並希望進一步了解和學習Istio 的
中進階技術人員,假設讀者已經了解Kubernetes 的相關概念並能夠在Kubernetes 上熟練部署和管理微服務。
✤ 本書概要
本書圍繞Istio 對服務網格的概念、歷史和能力,以各種實例為基礎,進行易於上手和了解的說明。
前3 章從微服務和服務網格的簡短歷史開始,說明了服務網格的誕生過程、基本特性及Istio 的核心功能,若對這些內容已經有所了解,則可以直接從第4 章開始閱讀。
第4、5 章分別說明了Istio 的設定和部署過程。
第6 章至第9 章,透過多個場景來說明Istio 的常用功能。本書沒有採用官方複雜的Book Info 應用案例,而是採用用戶端+ 簡單HTTP 服務端的案例,讀者隨時都能在短時間內啟動一個小的測試。
第10 章結合筆者的實作經驗,為讀者提供Istio 的一系列試用建議。
希望讀者能透過本書快速地對Istio 的功能特性有一個基本認識,了解其中的優點和不足,並進一步試用和評估。
✤ 相關資源
為方便大家學習和實作,本書提供了兩個應用專案,其中,sleep 用戶端應用專案的位址為github.com/fleeto/sleep,flaskapp 服務端應用專案的位址為github.com/fleeto/flaskapp。另外,筆者深度參與的Istio 官方文件中文化專案也已上線,位址為istio.io/zh。
✤ 致謝
感謝永遠不知道筆者在做什麼的崔夫人的大力支持。
感謝張國霞編輯,她在成書過程中對筆者的指導、協助和鞭策,是本書得以完成的重要幫助。
另外,筆者在學習、交流Istio 的過程中,從敖小劍、宋淨超兩位大咖,以及他們創辦的Service Mesher 社區(www.servicemesher.com/)所聚集的大量服務網格技術同好身上獲得很多啟發,在此一併致以誠摯的謝意。