第十八章 九析帶你輕鬆完爆 service mesh - Istio traffic managem

系列文章:


總目錄索引:九析帶你輕鬆完爆 istio 服務網格系列教程

目錄

1 前言

2 邀約

3 流量管理概述

4 istio 流量管理 API 資源


1 前言

        如果你對博客有任何疑問,請告訴我。1.png


2 邀約

        你可以從 b 站搜索 “九析”,獲取免費的、更生動的視頻資料:clipboard2.png


3 流量管理概述

        流量管理的本質就是採用策略控制流量的流向和大小。

        Istio 流量管理模型依賴於隨服務一起部署的 Envoy 代理,網格發送和接收的所有流量(數據平面流量)都通過 Envoy 進行代理。基於此模型可以輕鬆引導和控制網格周圍的流量,而無需對服務進行任何更改。


4 istio 流量管理 API 資源

        爲了在網格之間引導流量,Istio 需要知道執行端點在哪裏(在 K8s 中就是 Pod),以及這些執行端點屬於什麼服務。而且 Istio 爲了填充自己的服務註冊表,會連接到 Istio 所安裝平臺上的服務發現系統。例如,如果 Istio 被安裝到了 K8s 上,那麼 Istio 就會自動發現集羣中的服務和執行端點。

        Istio 自身的服務註冊表維護了一組服務以及這些服務背後真正的執行端點,Istio 使用服務註冊表產生 Envoy 配置。Istio 本身並不提供服務發現功能,儘管大多數服務是由 Pilot 適配器自動添加到註冊表中的,而這些 Pilot 適配器使用的是基礎平臺(K8s、Consul、純 DNS)自身的發現服務。

        使用此服務註冊表,Envoy 代理就可以將流量定向到相關服務。大多數基於微服務的應用系統每個服務後面都會有多個實例處理服務流量。默認情況下,Envoy 代理使用 RoundBin 循環模型在每個服務實例之間平均分配流量。

        雖然 Istio 的基本服務發現和負載均衡已經提供了一個有效的服務網格,但 Istio 提供的功能遠不止這麼多。在許多情況下,都希望對網格流量進行更加細粒度的控制。比如,可能希望將流量以百分比分配到不同的服務版本,作爲 A/B 測試的一部分,或者將不同的負載均衡策略應用於特定服務實例版本,又或者你可能還想將特殊規則應用於進出網格的流量等等。以上這些都可以通過使用 Istio 流量管理 API 做到。

        Istio 流量管理 API 資源如下:

Virtual Service

Destination Rule

Gateway

Service entries

Sidecars

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