-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Istio入門與實戰

( 簡體 字)
作者:毛廣獻 編著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社Istio入門與實戰 3dWoo書號: 51058
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:4/1/2019
頁數:300
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111625247
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

近幾年來,容器技術的飛速發展使得微服務技術更容易落地,微服務架構在業界逐漸流行起來。但是微服務架構對基礎設施要求較高,微服務依賴持續集成、服務注冊、服務發現、負載均衡、健康檢測、配置管理、服務路由、服務容錯、日志收集、指標收集、調用鏈追蹤等,而構建這一套基礎設施的成本巨大。因此,微服務相關的框架逐漸露出水面,比如Java語言的Spring Cloud框架。雖然這些微服務框架為我們提供了很多便利,但由于這些框架是與編程語言綁定的,使得我們應用的技術棧受到了限制。即使后來有其他的微服務框架也支持多編程語言的技術棧,但由于這些微服務框架代碼對服務代碼入侵嚴重,給后續服務框架的bug修復和版本升級帶來了一定的困難。所以,服務網格的概念一經提出,便得到了很多人的支持,人們對這項技術抱有很大的期望,希望能解決當前微服務所遇到的問題。

當我第一次接觸服務網格技術的時候,就覺得服務網格將來可能會像IaaS、PaaS一樣成為業界的主流技術,會得到廣泛應用。其實,服務網格并沒有提供什么新的概念和功能,它只是把原來服務框架所做的功能完全獨立出來,整合了一個服務網格的基礎設施層。這個改變看似很小,但是能使服務與服務治理功能實現完全解耦,這個影響是巨大的。

2017年5月,谷歌、IBM、Lyft等公司共同努力實現的開源服務網格Istio正式發布了第一個版本。而后又一個服務網格開源實現Conduit開始啟航,服務網格進入了更多技術人員的視野,經過努力,Istio在2018年7月正式發布了1.0.0版本。

2018年是服務網格快速發展的一年,Istio發布的1.0.0版本標志著Istio已經成熟到可以接受生產流量的考驗。2019年服務網格將會持續保持熱度,作為一名技術人員,現在是時候了解一下服務網格技術了。而在所有的開源服務網格實現中,最成熟的肯定是Istio。因此,要學習和了解服務網格,首先應該學習使用Istio。

由于Istio官方文檔使用英文編寫,而且只簡單演示了Istio提供的功能,沒有基于一般的使用場景,我在學習Istio時就很迷茫。于是,我結合自己的學習經驗和方法編寫了這本如何在實戰中學習Istio的書,以便技術人員能以最簡單的方式上手Istio,理解Istio,并能在生產環境中應用Istio服務網格。

由于本書是一本實戰類型的書,書中沒有大篇的理論知識。對于Istio提供的功能,本書只簡單地描述其作用和使用方式,然后使用實驗來演示效果。我相信,只要你跟著書中的實驗操作,并理解這些實驗的目的,學習完本書后,你就一定能熟練使用Istio,并在以后的Istio使用中得心應手。

對服務網格感興趣的人都可以閱讀本書。如果你想了解服務網格,想知道服務網格提供了哪些功能,能解決什么問題,本書將是一個不錯的選擇。如果你想了解Istio,體驗Istio,將來有可能將Istio應用于生產環境,那么閱讀本書將是一個不錯的開始。

本書主要內容如下:

第1章介紹服務網格的由來以及服務網格能給我們帶來什么,接著介紹開源的服務網格實現Istio的主要功能特性及其架構設計。

第2章說明本書后續實驗相關的環境和實驗中的注意事項,并詳細介紹后續實驗中將會使用的微服務架構應用,以及微服務的容器化構建。

第3章簡單介紹Vagrant及其使用方法。使用Vagrant可以快速創建實驗環境,這對于我們后續實驗環境的準備提供了非常大的便利,接著對創建實驗環境的場景進行模擬,幫助讀者熟悉Vagrant的使用流程。

第4章介紹如何使用Kubeadm快速創建一個多節點的Kubernetes集群。Kubernetes集群是后續部署Istio的基礎。

第5章介紹如何以官方示例的方式部署一個包含完整功能的Istio集群,以及如何以最小資源的方式部署一個能滿足大部分實驗場景要求的Istio集群。此外,還簡單介紹了Istio中常用的資源,以及常用的istioctl、kubectl命令。

第6章介紹微服務架構應用如何部署在Kubernetes集群中,以及如何訪問部署在Kubernetes集群中的服務,還簡單介紹了如何在Istio集群中部署和對外暴露服務。

第7章介紹Istio提供的服務流量管理功能,包括管理網格的入口和出口流量,根據請求進行流量拆分,如何借助Istio實現A/B測試和灰度發布等功能。

第8章介紹如何讓部署在Istio中的服務更具彈性,包括負載均衡、連接池、服務健康檢測、服務熔斷、服務超時、服務重試、服務限流功能的配置。

第9章介紹服務故障注入的相關功能,提前給服務注入故障,可以測試服務在故障中的穩定性,提前發現問題并修復問題。

第10章介紹服務間通信加密和服務間訪問權限的控制。Istio提供了雙向TLS進行服務間的通信加密,使用RBAC來實現細粒度的服務訪問權限控制。

第11章介紹如何提升服務的可觀測性。在Istio中通過簡單的配置,就可以實現服務的指標收集、日志收集。通過傳遞指定的服務請求頭,就可以輕松實現服務的調用鏈追蹤功能,這不但增強了服務的可觀測性,還大大減輕了運維人員和開發人員的負擔。

第12章介紹Istio部署后的維護工作。通過部署開源的第三方儀表板工具,我們可以更方便地管理Istio。接著介紹如何在不停機的情況下升級Istio,如何使用Helm以定制化的方式部署Istio,以及當Istio出現故障時應該如何排查并解決問題。最后介紹了在Istio中一個請求從發出到響應的整個流程。

第13章介紹一些不適合放在其他章節的Istio功能,包括跨域、跳轉、TCP路由、TLS路由等,以及如何在Gateway上啟用HTTPS,如何為部署在Istio中的服務開啟健康檢查功能,如何使用Envoy代理Ingressgateway來實現把集群內的服務暴露給集群外部使用。最后還簡單介紹了Mixer和Adapter模型。

本書源碼

本書所有示例代碼都放在GitHub上,讀者可以查看或下載。由于部署Kubernetes集群和Istio的過程中會涉及比較多的命令,我也把相關的命令放在了源碼的cmd目錄下。

由于作者水平和時間有限,書中難免會有一些紕漏和錯誤,歡迎讀者及時指正。非常希望和大家一起學習和討論服務網格與Istio,并共同推動服務網格和Istio在國內的發展。可以通過電子郵件聯系到我。

致謝

感謝所有在本書撰寫、出版過程中給予過幫助的人。這里要特別感謝機械工業出版社的吳怡編輯,沒有她的鼎力相助,就沒有本書。同時也要感謝我的家人和朋友,沒有他們的支持和理解,我不可能在有限的時間里完成本書。最后要感謝閱讀本書的讀者,非常感謝大家的支持!
內容簡介:

本書從實戰的角度全面介紹Istio技術要點與應用技巧,可幫助讀者快速搭建微服務架構并進行管理。主要內容包括:Istio架構設計與主要功能;如何部署微服務架構應用;Istio的服務流量管理功能,如流量拆分、A/B 測試和灰度發布;Istio的彈性服務功能,如負載均衡、連接池、服務健康檢查,服務熔斷、超時、重試、限流功能的配置;如何用故障注入方式來測試服務的穩定性,提前發現問題并修復;服務間通信加密和訪問權限的控制;服務指標、日志的收集,服務調用鏈追蹤;Istio 部署后的維護工作等。



本書從頭搭建一個簡單的微服務實驗,逐一展示Istio的主要功能,直觀地幫助讀者理解Istio,非常適合入門級讀者快速掌握Istio技術。本書所有示例代碼都可以在GitHub下載,地址為 https://github.com/mgxian/istio-lab。



主要內容包括:

Istio架構設計與主要功能

如何讓服務流量控制更簡單

如何讓服務更具彈性

如何讓服務故障測試更容易

如何讓服務通信更安全可控

如何讓服務更易觀測與監控

如何維護Istio
目錄:

前言
第1章 服務網格與Istio 1
1.1 服務網格簡介 1
1.1.1 服務網格的概念與特點 2
1.1.2 服務網格的優勢 3
1.2 Istio簡介 4
1.3 Istio的架構設計 5
1.3.1 數據平面 6
1.3.2 控制平面 7
1.4 Istio的功能特性 9
1.5 本章小結 10
第2章 實驗說明 11
2.1 實驗的環境 11
2.1.1 基礎環境 11
2.1.2 命令說明 12
2.1.3 問題及解決方案 13
2.2 實驗的應用 16
2.2.1 應用架構說明 16
2.2.2 應用詳細說明 17
2.3 應用的構建 26
2.4 本章小結 31
第3章 使用Vagrant管理虛擬機 32
3.1 Vagrant簡介 32
3.2 Vagrant常用命令 33
3.3 模擬實驗時的場景 38
3.4 本章小結 47
第4章 創建Kubernetes集群 48
4.1 安裝Docker 48
4.2 安裝Kubeadm 51
4.3 配置基礎環境 52
4.4 創建Kubernetes集群的步驟 55
4.5 測試集群的正確性 61
4.6 注意事項與技巧 65
4.7 本章小結 67
第5章 Istio部署與常用命令 68
5.1 部署Istio 68
5.2 常用資源類型 77
5.2.1 流量控制 77
5.2.2 請求配額 80
5.2.3 mTLS認證策略 81
5.2.4 RBAC訪問權限 81
5.3 常用的kubectl命令 83
5.4 常用的istioctl命令 83
5.4.1 通用參數說明 84
5.4.2 常用命令 84
5.5 注意事項與技巧 85
5.6 本章小結 89
第6章 微服務應用的部署 90
6.1 微服務應用架構 90
6.2 部署服務 94
6.3 訪問服務 98
6.4 在Istio中部署微服務 102
6.5 本章小結 105
第7章 讓服務流量控制更簡單 106
7.1 整體介紹 106
7.2 管理集群的入口流量 110
7.3 把請求路由到服務的指定版本 111
7.4 根據服務版本權重拆分流量 113
7.5 根據請求信息路由到服務的不同版本 114
7.6 流量鏡像 115
7.7 管理集群的出口流量 117
7.8 實現服務A/B測試 126
7.9 實現服務灰度發布 128
7.10 灰度發布與A/B測試結合 132
7.11 本章小結 135
第8章 讓服務更具彈性 136
8.1 整體介紹 136
8.2 負載均衡 138
8.3 連接池 141
8.4 健康檢測 144
8.5 熔斷 145
8.6 超時 149
8.7 重試 151
8.8 限流 153
8.9 本章小結 165
第9章 讓服務故障檢測更容易 166
9.1 整體介紹 166
9.2 給服務增加時延 168
9.3 給服務注入錯誤 169
9.4 時延與錯誤配合使用 171
9.5 本章小結 173
第10章 讓服務通信更安全可控 174
10.1 整體介紹 174
10.2 Denier適配器 176
10.3 黑白名單 177
10.4 服務與身份認證 180
10.5 RBAC訪問控制 194
10.6 本章小結 205
第11章 讓服務更易觀測與監控 206
11.1 整體介紹 206
11.2 指標收集 209
11.3 日志收集 216
11.4 調用鏈追蹤 224
11.5 服務指標可視化 230
11.6 服務調用樹 235
11.7 本章小結 239
第12章 Istio維護 240
12.1 整體介紹 240
12.2 Istio服務網格儀表板 241
12.3 升級Istio 245
12.4 使用Helm定制部署Istio 253
12.5 故障排除 257
12.6 一個請求的完整過程分析 272
12.7 本章小結 282
第13章 雜項 283
13.1 CORS 284
13.2 URL重定向 287
13.3 URL重寫 289
13.4 TCP路由 290
13.5 TLS路由 292
13.6 mTLS遷移 295
13.7 EnvoyFilter 297
13.8 添加請求頭 299
13.9 在Gateway上使用HTTPS 300
13.10 在HTTPS服務上開啟mTLS 304
13.11 網格中的服務健康檢查 306
13.12 Envoy代理Ingressgateway 308
13.13 Mixer與Adapter模型 311
13.14 本章小結 312
序: