iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0

前言

接下來來介紹 Istio 的架構

架構

Istio 在邏輯上分為 Control Plane 和 Data Plane。

Control Plane 管理和設定來引導網路流量
Data Plane 是由 Side Car 的一組 Envoy 的智慧型網路代理所組成的,而這些代理與Mixer會一起控制為服務之間的所有網路通訊

下圖說明了組成Control Plane 及 Data Plane的各個元件:
Istio 架構
Istio 架構

Envoy

Istio 是使用 Envoy 網路代理的延伸版本。Envoy 是使用C++開發的高效能網路代理,可以幫助 Service Mesh 中的所有服務調節 Inbound 及 Outbound 的流量。

而Istio利用Envoy的許多內建的功能,例如:

  • 動態服務發現
  • 負載平衡
  • TLS termination
  • HTTP/2 及 gRPC proxy
  • 斷路器 (熔斷)
  • 服務狀態檢查
  • 階段性輸出,按百分比分配流量
  • 故障注入測試

Envoy 會被當成Side Car來部署,部署在微服務的同一個Kubernetes POD中,透過這樣的部署方式,Istio可以擷取有關流量資訊提供給Mixer元件,進而依此為依據來做出決策,再將他發送到 Monitoring 顯示出 Service Mesh 相關的訊息。

Mixer

Mixer 是一個獨立於平台的元件,它可以跨 Service Mesh 來實現請求控制和使用策略,並從 Envoy 網路代理和其他元件蒐集觀測數據,並將其發送到 Mixer 進行評估。而 Mixer 擁有具靈活性的擴充元件模型,該模型使 Istio 可以與各種微服務進行互動。

Pilot

Pilot 提供了 Envoy Side Car 的服務發現、智慧路由的流量管理功能(ex: A/B測試,金絲雀部署等)和彈性(ex: Timeout、Retry、Circuit Breaker 等),將控制流量的路由規則轉換成Envoy 的形式,並在運作時將其發送到Side Car。

Citadel

Citadel 透過內建的憑證管理來實現微服務之間使用者的身分驗證,使用了 Citadel可以透過身分驗證的方式來實行路由策略
,而不是使用相對不穩定的第三層或第四層的 network identifiers。

Galley

Galley 是 Istio 負責設定的引入、處理及發送的工作,同時也負責將 Istio 的元件與底層平台取得的設定隔離開來。

Reference

https://istio.io


上一篇
Day 12 - Kubernetes Istio 簡介
下一篇
Day 14 - Istio 安裝
系列文
SDN/NFV 網路虛擬化調度平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言