什麼是 Istio?

Istio 是一個開放原始碼的服務網格,可以透明地疊加在現有的分散式應用程式上。Istio 強大的功能提供了一種統一且更有效的方式來保護、連接和監控服務。Istio 是實現負載平衡、服務到服務驗證和監控的途徑,只需少量或無需變更服務程式碼。它能為您提供:

  • 透過相互 TLS 加密、強大的基於身分驗證和授權來保護叢集中的服務到服務通訊
  • 自動負載平衡,適用於 HTTP、gRPC、WebSocket 和 TCP 流量
  • 使用豐富的路由規則、重試、容錯移轉和錯誤注入來細微地控制流量行為
  • 一個可外掛的策略層和設定 API,支援存取控制、速率限制和配額
  • 自動指標、日誌和追蹤,適用於叢集內的所有流量,包括叢集入口和出口

Istio 專為可擴充性而設計,可以處理各種部署需求。Istio 的 控制平面 在 Kubernetes 上執行,您可以將部署在該叢集中的應用程式新增至您的網格,將網格延伸至其他叢集,甚至可以連接在 Kubernetes 外部執行的虛擬機或其他端點

龐大的貢獻者、合作夥伴、整合和經銷商生態系統,將 Istio 擴展並應用於各種不同的情境。您可以自行安裝 Istio,或者眾多供應商也提供整合了 Istio 並為您管理的產品。

運作方式

Istio 使用代理程式攔截您的所有網路流量,根據您設定的組態,啟用各種應用程式感知的功能。

控制平面會取得您想要的組態以及對服務的檢視,並動態地程式化代理伺服器,在規則或環境變更時更新它們。

資料平面是服務之間的通訊。如果沒有服務網格,網路將無法理解傳輸的流量,也無法根據流量類型、來源或目的地做出任何決策。

Istio 支援兩種資料平面模式:

  • 邊車模式 (sidecar mode),會將 Envoy 代理程式部署在叢集中啟動的每個 Pod 旁邊,或者在虛擬機器上執行的服務旁邊。
  • 環境模式 (ambient mode),使用每個節點的第 4 層代理程式,並且可選地為第 7 層功能使用每個命名空間的 Envoy 代理程式。

了解如何選擇適合您的模式.

這些資訊對您有幫助嗎?
您有任何改進建議嗎?

感謝您的回饋!