🎯 課程目標__HTMLTAG_66___
- ✅ Understand what a service mesh is and why it is needed
- ✅ Istio Architecture: Control Plane + Data Plane
- ✅ Envoy sidecar proxy — how it works
- ✅ Core features: traffic management, security, observability
- ✅ Compare Istio vs Linkerd vs Cilium Service Mesh
- ✅ Install Istio on K8s cluster
PART 1: WHAT IS SERVICE MESH?
程式碼區塊_0
1.1。什麼時候需要服務網格?
- ✅ > 10 microservices communicating
- ✅ Need mTLS (zero-trust network)
- ✅ Complex traffic routing (canary, A/B)
- ✅ Distributed tracing & observability
- ✅ Rate limiting, circuit breaking consistent
- ❌ Overhead not required for monolith or < 5 services
PART 2: ISTIO ARCHITECTURE
程式碼區塊_1
___HTMLTAG_106__HTMLTAG_107___元件___HTMLTAG_108__HTMLTAG_109___角色___HTMLTAG_110__HTMLTAG_111___詳細資料___HTMLTAG_112__HTMLTAG_113___ ___HTMLTAG_116__HTMLTAG_117___istiod___HTMLTAG_118__HTMLTAG_119___控制平面___HTMLTAG_120__HTMLTAG_121___單一二進位:Pilot + Citadel + Galley____HTMLTAG_122HTMLTAG_122HT ___HTMLTAG_124__HTMLTAG_125___Envoy___HTMLTAG_126__HTMLTAG_127___Sidecar 代理___HTMLTAG_128__HTMLTAG_129___L4/L7 代理,注入每個 Pod____HTMLTAG_130HTMLTAG_131___ ___HTMLTAG_132__HTMLTAG_133___Pilot___HTMLTAG_134__HTMLTAG_135___流量管理___HTMLTAG_136__HTMLTAG_137___轉換路由規則 → Envoy xDS 設定___HTMLTAG_138__HTMLTAG_139___ ___HTMLTAG_140__HTMLTAG_141___Citadel____HTMLTAG_142__HTMLTAG_143___安全性___HTMLTAG_144__HTMLTAG_145___憑證授權單位,mTLS 憑證輪替____HTMLTAG_146__7UMLG_146__141G_146__1 ___HTMLTAG_148__HTMLTAG_149___Galley____HTMLTAG_150__HTMLTAG_151___設定___HTMLTAG_152__HTMLTAG_153___驗證與分發 Istio 設定___HTMLTAG_154__HTMLTAG_155___PART 3: ISTIO SETUP
3.1。安裝 istioctl
___程式碼區塊_2___3.2。安裝 Istio(生產設定檔)
___程式碼區塊_3___程式碼區塊_4
第 4 部分:mTLS(相互 TLS)
程式碼區塊_5
程式碼區塊_6
第 5 部分:SIDECAR 注入
程式碼區塊_7
第 6 部分:可觀察性附加元件
程式碼區塊_8
💡 重點
-
___HTMLTAG_277__HTMLTAG_278___服務網格:服務到服務通訊的基礎設施層
___HTMLTAG_281__HTMLTAG_282___Istio:功能最豐富的網格,Envoy sidecar 代理
___HTMLTAG_285__HTMLTAG_286___istiod:單控制平面二進位檔案(Pilot + Citadel + Galley)
___HTMLTAG_289__HTMLTAG_290___mTLS STRICT:零信任,所有流量自動加密
___HTMLTAG_293__HTMLTAG_294___Sidecar注入:標籤命名空間,自動注入Envoy
___HTMLTAG_297__HTMLTAG_298___Kiali:可視化服務拓撲,對於理解網格至關重要
🎯 練習
練習 1:安裝 Istio__HTMLTAG_306___
- 使用生產設定檔安裝 Istio
- 在預設命名空間上啟用 sidecar 注入__HTMLTAG_311___
- 部署範例 Bookinfo 應用程式
- 驗證服務之間的 mTLS
練習 2:Kiali 和 Jaeger
- 安裝 Kiali,探索服務圖
- 產生流量,在 Jaeger 中查看追蹤__HTMLTAG_323___
- 辨識請求鏈中最慢的服務
📚 下一篇文章
在 第 25 課:Istio 流量管理 — VirtualService、DestinationRule 中,我們將設定流量路由、金絲雀部署和熔斷。