Istio簡介【一個用於連接、監控和保護微服務的開放平臺】

什麼是Istio?

Istio是一個開放服務網格,提供了一種連接,管理和保護微服務的統一方法。它支持管理服務之間的流量,執行訪問策略以及彙總遙測數據,所有這些都無需更改微服務代碼。

Istio:

  • HTTP,gRPC,WebSocket,MongoDB和TCP通信的自動負載平衡。
  • 通過豐富的路由規則,重試,故障轉移和故障注入對流量行爲進行細粒度控制。
  • 可配置的策略層和API,支持訪問控制,速率限制和配額。
  • 羣集內所有流量的自動指標,日誌和跟蹤,包括羣集入口和出口。
  • 通過強大的基於身份的身份驗證和授權,在羣集中進行安全的服務間通信。

華爲雲-Istio系列課程

Istio架構圖

Istio如何與Kubernetes互送助攻?

概述(摘自官網

Istio 是一個開源的獨立服務網格,可爲您成功運行分佈式微服務架構提供所需的基礎。隨着各組織越來越多地採用雲平臺,開發者必須使用微服務設計架構以實現可移植性,而運營者必須管理包含混合和多雲部署的大型分佈式部署。Istio 採用一種一致的方式來保護、連接和監控微服務,降低了管理微服務部署的複雜性。

Istio 安全

減輕安全負擔,讓開發者可以專注於其他關鍵任務。

  • 保障服務通信的安全

Istio 以可擴縮的方式管理微服務間通信的身份驗證、授權和加密。Istio 提供基礎的安全通信渠道,使開發者可以專注於應用級安全。

  • 安全通信

Istio 可以增強微服務及其通信(包括服務到服務和最終用戶到服務的通信)的安全性,且不需要更改服務代碼。它爲每個服務提供基於角色的強大身份機制,以實現跨集羣、跨雲端的交互操作。

  • 深度防禦

如果您結合使用 Istio 與 Kubernetes(或基礎架構)網絡政策,Pod 到 Pod 或服務到服務的通信在網絡層和應用層都將安全無虞。Istio 以 Google 的深度防禦策略爲基礎構建而成,以確保微服務通信的安全。當您在 Google Cloud 中使用 Istio 時,Google 的基礎架構可讓您構建真正安全的應用部署。

  • 默認安全

Istio 可確保服務通信在默認情況下是安全的,並且您可以跨不同協議和運行時一致地實施安全政策,而您只需對應用稍作調整,甚至無需調整。

  • 強大的服務身份驗證

藉助 Istio Auth,確保只能從經過嚴格身份驗證和授權的客戶端訪問包含敏感數據的服務。

  • 身份驗證政策

Istio 的配置政策在服務器端配置平臺身份驗證,但不在客戶端強制實施該政策,同時允許您指定服務的身份驗證要求。

  • 基於角色的訪問權限控制 (RBAC)

Istio RBAC 爲 Istio 網格中的服務提供命名空間級別、服務級別和方法級別的訪問權限控制。它包括易於使用的基於角色的語義、服務到服務和最終用戶到服務的授權,並在角色和角色綁定方面提供靈活的自定義屬性支持。

  • 雙向 TLS 身份驗證

Istio 可以增強微服務及其通信(包括服務到服務和最終用戶到服務的通信)的安全性,且不需要更改服務代碼。它爲每個服務提供基於角色的強大身份機制,以實現跨集羣、跨雲端的交互操作。

  • 密鑰管理

Istio 的密鑰管理系統可自動生成、分發、輪換與撤消密鑰和證書。

Istio 監控

藉助強大可靠且易於使用的監控功能,快速有效地檢測和修復問題。

  • 記錄日誌、監控並保持服務正常運行

Istio 通過跟蹤、監控和記錄日誌幫您深入瞭解自己的服務網格部署。瞭解服務性能如何及其對其他進程的影響,快速有效地檢測問題並對問題進行分類。

  • 縱覽全局

Istio 的自定義信息中心讓您能夠從宏觀角度瞭解服務的行爲,從而幫助您快速檢測問題並有效地對問題進行分類。

  • 瞭解服務性能

通過 Istio 的監控功能,您可以瞭解服務性能如何影響上游和下游,從而更有效地設置、監控和實施服務的服務等級目標 (SLO)。

  • 隨時獲取所需的指標

可從任何正在運行的應用獲取統一的指標和跟蹤記錄,而無需開發者手動對應用執行插樁 (Instrumentation) 操作。

  • 後端抽象

Istio 的 Mixer 組件提供政策控制和遙測收集功能,將 Istio 的其餘部分與各個基礎架構後端的實現細節隔離開來。

  • 中介

利用 Mixer,您可以精細控制網格和基礎架構後端之間的所有交互。

  • 低延遲

與位於網格中的每個服務實例旁邊並且必須節省內存使用的 Sidecar 代理不同,Mixer 獨立運行,因此它可以使用相當大的緩存和輸出緩衝區,充當 Sidecar 的高度可擴縮且高度可用的二級緩存。

  • 高可靠性

Mixer 用於爲每個 Mixer 實例提供高可用性。它的本地緩存和緩衝區可以減少延遲時間,還有助於屏蔽基礎架構後端故障,即使後端沒有響應也是如此。

Istio 連接

Istio 可在部署規模逐步擴大的過程中助您簡化流量管理。

  • 流量管理與政策控制

通過 Istio 流量管理功能,您可以控制服務之間的流量流動和 API 調用,還可以更好地瞭解流量,以便在問題出現之前發現其徵兆。這使得調用更加可靠、網絡更加強健,即使遇到不利狀況也能穩如磐石。

  • 輕鬆配置規則

藉助 Istio,您能夠配置斷路器、超時和重試等服務級屬性,並設置常見的持續部署任務,如 Canary 發佈、A/B 測試和基於百分比拆分流量的分階段發佈。

  • 將內容引導至期望位置

您可以指定希望流量遵循的規則,以便將流量路由到各個服務版本,而無需受制於各個版本對應的實例數量。例如,您可以指定將所有流量的 5% 路由到特定的 Canary 版本,或者根據請求的內容將流量路由到特定版本。

  • 開箱即用的故障恢復功能

強大的開箱即用故障恢復功能,包括超時、支持超時預算和變量抖動的重試機制、發往上游服務的併發連接和請求數限制、定期對負載平衡池中的每個成員進行的主動運行狀況檢查,以及被動運行狀況檢查(如細粒度斷路器)。

  • 分離流量管理和基礎架構擴縮

通過將流量管理與基礎架構擴縮分離開來,系統可提供獨立於應用代碼的多種功能,例如 A/B 測試所依賴的動態請求路由、逐步發佈和 Canary 版本機制。此外,它還使用超時、重試和斷路器來處理故障恢復,並使用故障注入來跨服務測試故障恢復政策的兼容性。

  • 故障注入

配置有誤的故障恢復政策可能會導致應用中的關鍵服務持續不可用,因此進行端到端故障恢復測試至關重要。Istio 可將特定於協議的故障注入到網絡中,而無需終止 Pod、延遲或破壞 TCP 層的數據包。

  • 負載平衡

Istio 目前允許使用 Envoy 支持的三種負載平衡模式:輪換(按輪換順序選擇運行狀況良好的各個上游主機);隨機(由隨機負載平衡器隨機選擇一個運行狀況良好的主機);以及加權最低請求數量。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章