日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01-02istio架构概念了解

發布時間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01-02istio架构概念了解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

istio服務網格在邏輯上分為數據平面和控制平面。

  • 數據平面由一組部署為邊車的智能代理(Envoy)組成。這些代理負責協調和控制微服務之間的所有網絡通信。他們還收集和報告所有網格流量的遙測數據。
  • 控制平面管理并將代理配置為路由流量。
    下圖顯示了構成每個平面的不同組件:(下圖來自官網)

    Istio中的交通分為數據平面交通和控制平面交通。數據平面流量是指工作負載的業務邏輯發送和接收的消息??刂破矫娼煌ㄊ侵冈贗stio組件之間發送的配置和控制消息來對網格的行為進行編程。Istio中的流量管理專門指數據平面流量。

1. 組件

1.1 Envoy

Istio使用Envoy代理的擴展版本。Envoy是用c++開發的高性能代理,用于協調服務網格中所有服務的所有入站和出站流量。Envoy代理是唯一與數據通信交互的Istio組件。

Envoy代理被部署為服務的邊車,從邏輯上講,它增加了Envoy的許多內置特性:

Dynamic service discovery 動態服務發現 Load balancing 負載均衡 TLS termination TLS 終止 HTTP/2 and gRPC proxies HTTP / 2 和gRPC代理 Circuit breakers 斷路器 Health checks 健康檢查 Staged rollouts with %-based traffic split 使用基于百分比的流量拆分的分階段推出 Fault injection 斷層注入 Rich metrics 豐富的指標

這種sidecar部署允許Istio提取大量關于流量行為的信號作為屬性。Istio可以使用這些屬性來執行策略決策,并將它們發送到監控系統,以提供關于整個網格的行為的信息。

sidecar代理模型還允許您向現有部署添加Istio功能,而不需要重新架構或重寫代碼。

由envoy代理啟用的一些Istio功能和任務包括:

交通管制特點:使用豐富的路由規則執行細粒度的流量控制HTTP,gRPC,WebSocket 和 TCP 流量。
網絡彈性功能:設置重試、故障轉移、斷路器和故障注入。
安全和身份驗證功能:實施安全策略并實施通過配置 API 定義的訪問控制和速率限制。
基于 Web Assembly 的可插拔擴展模型允許自定義策略實施和網格流量遙測生成。

1.2 Pilot 流量管理、服務發現

Pilot針對提供智能路由(比如,A/B測試、金絲雀部署)的Envoy Sidecar,流量管理的能力提供了服務發現。針對彈性提供了超時,重試,斷路保護等功能。

Pilot將控制流量行為的高級路由規則轉換為特定于環境的配置,并在運行時將它們傳播到邊車。Pilot將特定于平臺的服務發現機制抽象出來,并將它們合成為任何符合Envoy API的sidecar都可以使用的標準格式。

下圖顯示了平臺適配器和Envoy代理如何交互:

  • 平臺啟動一個服務的新實例,該實例通知其平臺適配器。
  • 平臺適配器使用Pilot抽象模型注冊實例。
  • Pilot將分發流量規則和配置給Envoy代理,以說明更改的原因。
  • 這種耦合允許istio運行在比如kubernetes、Consul或者Nomad等平臺上。

    1.3 Citadel 證書管理

    Citadel支持強大的服務對服務和終端用戶身份驗證,內置身份和憑證管理。您可以使用Citadel來升級服務網格中的未加密流量。使用Citadel,運營商可以執行基于服務身份的策略,而不是基于相對不穩定的第3層或第4層網絡標識符。從0.5版開始,您可以使用Istio的授權特性來控制誰可以訪問您的服務。

    1.4 Gallery 注入istio

    Galley是Istio的配置驗證、注入、處理和分發組件。它負責將其余的Istio組件與從底層平臺(例如Kubernetes)獲取用戶配置的細節隔離開來。

    2. 設計目標

    • 最大化的透明度:為了采用Istio,操作人員或開發人員需要做盡可能少的工作,才能從系統中獲得真正的價值。為此,Istio可以自動將自己注入到服務之間的所有網絡路徑中。Istio使用sidecar代理來捕獲流量,并在可能的情況下,在不更改已部署的應用程序代碼的情況下,自動對網絡層進行編程,以通過這些代理路由流量。在Kubernetes中,代理被注入到pods中,通過編寫iptables規則捕獲流量。一旦sidecar代理被注入并且流量路由被處理,Istio可以協調所有的流量。這個原則也適用于性能。當將Istio應用于部署時,操作人員會看到所提供功能的資源成本的最小增加。組件和api的設計必須考慮到性能和可伸縮性。

    • 擴展性:隨著操作人員和開發人員越來越依賴于Istio提供的功能,系統必須隨著他們的需求而增長。當我們繼續添加新特性時,最大的需求是擴展策略系統的能力,與其他策略和控制源的集成,以及將關于網格行為的信號傳播到其他系統進行分析的能力。策略運行時支持用于插入其他服務的標準擴展機制。

    • 可移植性:使用Istio的生態系統在許多方面都有所不同。Istio必須在任何云環境或本地環境中以最小的努力運行。將基于isti的服務移植到新環境的任務必須是瑣碎的。使用Istio,您可以操作部署到多個環境中的單個服務。例如,可以在多個云上部署冗余。

    • 策略的一致性:策略在服務之間的API調用上的應用提供了對網格行為的大量控制。然而,將策略應用于API級別上不一定表示的資源也同樣重要。例如,對ML訓練任務消耗的CPU數量應用配額比對發起工作的調用應用配額更有用。為此,Istio使用自己的API將策略系統維護為一個獨立的服務,而不是將策略系統集成到代理sidecar中,從而允許服務根據需要直接與之集成。

    總結

    以上是生活随笔為你收集整理的01-02istio架构概念了解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。