- 深入理解Istio:云原生服務(wù)網(wǎng)格進(jìn)階實(shí)戰(zhàn)
- 云原生社區(qū)
- 1687字
- 2022-08-16 14:38:15
前言
以社區(qū)之名成就開(kāi)源
2018年5月,在螞蟻金服的支持下,ServiceMesher社區(qū)成立。隨后,國(guó)內(nèi)刮起了服務(wù)網(wǎng)格的旋風(fēng),由社區(qū)領(lǐng)導(dǎo)的Istio官方文檔翻譯工作也進(jìn)入白熱化階段。
隨著時(shí)間的推移,我感受到系統(tǒng)介紹 Istio 的中文資料匱乏,于是在2018年9月開(kāi)始構(gòu)思寫一本關(guān)于Istio 的圖書,并在 GitHub 上發(fā)起了 Istio Handbook 的開(kāi)源電子書項(xiàng)目。幾個(gè)月后,隨著服務(wù)網(wǎng)格技術(shù)的推廣及 ServiceMesher 社區(qū)規(guī)模的擴(kuò)大,我在社區(qū)的線上線下活動(dòng)中結(jié)識(shí)了很多同樣熱衷于 Istio 和服務(wù)網(wǎng)格技術(shù)的朋友。我們一致決定,一起寫一本 Istio 的開(kāi)源電子書,將社區(qū)積累的寶貴文章和經(jīng)驗(yàn)集結(jié)成系統(tǒng)的文字,分享給廣大開(kāi)發(fā)者。
2019年3月,在社區(qū)管理委員會(huì)的組織下,幾十位成員自愿參與并開(kāi)始共同撰寫此書。2020年5月,為了更好地推廣云原生技術(shù),豐富社區(qū)分享的技術(shù)內(nèi)容,我們成立了云原生社區(qū),并將原有的ServiceMesher社區(qū)納入其中,社區(qū)運(yùn)營(yíng)的內(nèi)容也從服務(wù)網(wǎng)格技術(shù)擴(kuò)展到更加全面的云原生技術(shù)。
2020年10月,本書主要的內(nèi)容貢獻(xiàn)者組成了編委會(huì),成員分別有馬若飛、宋凈超、王佰平、王煒、羅廣明、趙化冰、鐘華和郭旭東。我們?cè)诔霭嫔绲闹笇?dǎo)與幫助下,對(duì)本書進(jìn)行了后續(xù)的版本升級(jí)、完善、優(yōu)化等工作。經(jīng)過(guò)反復(fù)的迭代,這本書終于和大家見(jiàn)面了。
本書特色
Istio在1.5 版本后有了重大的架構(gòu)變化,同時(shí)引入或改進(jìn)了多項(xiàng)功能,例如,引入了智能 DNS 代理、新的資源對(duì)象,改進(jìn)了對(duì)虛擬機(jī)的支持等。
本書以Istio新版本為基礎(chǔ)編寫而成,在持續(xù)追蹤 Istio 社區(qū)最新動(dòng)向的基礎(chǔ)上,力求為讀者提供最新、最全面的內(nèi)容。另外,多位作者都是一線的開(kāi)發(fā)或運(yùn)維工程師,具有豐富的Istio實(shí)戰(zhàn)經(jīng)驗(yàn),為本書提供了翔實(shí)、寶貴的參考案例。
本書內(nèi)容
本書共10章,分別從概念、實(shí)踐和生態(tài)擴(kuò)展3個(gè)層面為讀者系統(tǒng)介紹了Istio的知識(shí),每一章的具體內(nèi)容如下。
第1章 Service Mesh概述
本章主要介紹了Service Mesh的基本概念,著重分析了Service Mesh對(duì)解決微服務(wù)應(yīng)用流量控制等方面問(wèn)題的便利性,同時(shí)引出了本書的主角Istio,簡(jiǎn)要介紹了Istio的概念及主要功能。
第2章 核心功能
本章主要介紹了Istio的三大核心功能——流量控制、安全、可觀察性,并對(duì)實(shí)現(xiàn)這些功能的Istio自定義資源做了簡(jiǎn)要說(shuō)明,讓讀者能更好地了解Istio的核心功能。
第3章 架構(gòu)解析
本章主要介紹了Istio的架構(gòu)組成,詳細(xì)分析了Istio的架構(gòu)變遷過(guò)程,并深入剖析了控制平面和數(shù)據(jù)平面中各個(gè)組件的功能和工作原理。
第4章 安裝與部署
本章主要介紹了如何在Kubernetes集群中安裝Istio,以及Istio的兩種版本升級(jí)方式:金絲雀升級(jí)和熱升級(jí)。同時(shí),本章還介紹了如何安裝Istio官方提供的Bookinfo案例,用以作為后面章節(jié)的練習(xí)環(huán)境。
第5章 流量控制
本章詳細(xì)介紹了Istio流量控制方面的資源和功能:CRD、路由、流量鏡像、Ingress/Egress、超時(shí)、重試、熔斷和故障注入,并通過(guò)代碼案例演示了實(shí)現(xiàn)這些功能的自定義資源,使讀者能夠知道如何利用這些自定義資源來(lái)配置Istio。
第6章 可觀察性
本章從可觀察性的三大支柱出發(fā),分別介紹了如何利用Prometheus和Grafana收集和展示指標(biāo),如何基于ELK等框架采集和分享Istio日志,如何利用Jaeger等分布式追蹤工具觀察請(qǐng)求路徑。同時(shí),本章還對(duì)Istio的專屬網(wǎng)格監(jiān)控工具Kiali做了介紹。
第7章 安全
本章主要介紹了Istio的安全架構(gòu)及兩大安全方面的能力:認(rèn)證和授權(quán)。同時(shí),本章還通過(guò)實(shí)例展示了如何利用自定義資源完成相應(yīng)的授權(quán)和認(rèn)證配置。
第8章 進(jìn)階實(shí)戰(zhàn)
本章聚焦于Istio的高階功能,對(duì)開(kāi)發(fā)者關(guān)心的Istio落地的熱點(diǎn)問(wèn)題和解決方案做了深入分析,包括集成服務(wù)注冊(cè)中心、對(duì)接API網(wǎng)關(guān)、分布式追蹤增強(qiáng)、部署模型、多集群部署與管理、智能DNS等。
第9章 故障排查
本章詳細(xì)介紹了Istio使用過(guò)程中的常見(jiàn)問(wèn)題及解決方法,并展示了如何使用Istio的命令行工具完成故障排查、配置分析等操作。
第10章 Service Mesh生態(tài)
本章主要介紹了Service Mesh的生態(tài)環(huán)境,包括主流的一些Service Mesh開(kāi)源產(chǎn)品,如Linkerd、Envoy等,以及云廠商所發(fā)布的商業(yè)化產(chǎn)品,同時(shí)對(duì)Service Mesh領(lǐng)域目前的兩個(gè)標(biāo)準(zhǔn)UDPA和SMI做了介紹,最后介紹了WebAssembly等產(chǎn)品的擴(kuò)展能力。
致謝
感謝馬博、馬越、王發(fā)康、葉王、葉志遠(yuǎn)、劉超、劉洪曄、劉艷超、孫召昌、宋杰、孟明、官余棚、陳洪波、陳鵬、苗立堯、黨鵬飛、翁揚(yáng)慧、高洪濤、高威、高維宗、崔曉晴、梁豪、郭棟、韓佳浩、譚驍和顏強(qiáng)對(duì)本書內(nèi)容的貢獻(xiàn)。最后還要感謝本書的責(zé)任編輯孫奇俏在圖書出版過(guò)程中的幫助和支持。
作者團(tuán)隊(duì)水平有限,書中難免存在不足之處,懇請(qǐng)各位讀者批評(píng)指正。
宋凈超
2022年4月
- Android開(kāi)發(fā)進(jìn)階:從小工到專家
- 中臺(tái)架構(gòu)與實(shí)現(xiàn):基于DDD和微服務(wù)
- IT服務(wù)供應(yīng)鏈協(xié)調(diào)
- 數(shù)字化運(yùn)維:IT運(yùn)維架構(gòu)的數(shù)字化轉(zhuǎn)型
- 企業(yè)IT架構(gòu)轉(zhuǎn)型之道:阿里巴巴中臺(tái)戰(zhàn)略思想與架構(gòu)實(shí)戰(zhàn)
- 微服務(wù)治理:體系、架構(gòu)及實(shí)踐
- 微信公眾平臺(tái)搭建與開(kāi)發(fā)揭秘(第2版)
- SRv6網(wǎng)絡(luò)編程:開(kāi)啟IP網(wǎng)絡(luò)新時(shí)代
- IT項(xiàng)目管理理論與方法
- Axure RP8 網(wǎng)站和APP原型制作 從入門到精通
- 數(shù)據(jù)中臺(tái):讓數(shù)據(jù)用起來(lái)(第2版)
- IT服務(wù)管理及CMMI-SVC實(shí)施
- IT與項(xiàng)目管理軟件應(yīng)用
- 日志管理與分析(第2版)
- 云計(jì)算解碼