本期Istio技術(shù)實(shí)踐專題的主題是Istio的流量策略。
虛擬服務(wù)(Virtual Service)以及目標(biāo)規(guī)則(Destination Rule)是 Istio 流量路由的兩大基石。后面我們會(huì)專門講一個(gè)灰度發(fā)布的專題,Virtual Service和灰度發(fā)布會(huì)一起講,今天主要講述Destination Rule的功能和應(yīng)用,分三個(gè)部分來闡述:
設(shè)置負(fù)載均衡
熔斷策略
連接池策略
流量管理的本質(zhì)就是采用策略控制流量的流向和大小。Istio流量管理模型依賴于隨服務(wù)一起部署的 Envoy 代理,網(wǎng)格發(fā)送和接收的所有流量(數(shù)據(jù)平面流量)都通過 Envoy 進(jìn)行代理。基于此模型可以輕松引導(dǎo)和控制網(wǎng)格周圍的流量,而無需對(duì)服務(wù)進(jìn)行任何更改。
Istio 自身的服務(wù)注冊(cè)表維護(hù)了一組服務(wù)以及這些服務(wù)背后真正的執(zhí)行端點(diǎn),Istio 使用服務(wù)注冊(cè)表產(chǎn)生 Envoy 配置。使用此服務(wù)注冊(cè)表,Envoy 代理就可以將流量定向到相關(guān)服務(wù)。
雖然 Istio 的基本服務(wù)發(fā)現(xiàn)和負(fù)載均衡已經(jīng)提供了一個(gè)有效的服務(wù)網(wǎng)格,但 Istio 提供的功能遠(yuǎn)不止這么多。在許多情況下,都希望對(duì)網(wǎng)格流量進(jìn)行更加細(xì)粒度的控制。比如,可能希望將流量以百分比分配到不同的服務(wù)版本,作為 A/B 測(cè)試的一部分,或者將不同的負(fù)載均衡策略應(yīng)用于特定服務(wù)實(shí)例版本,又或者你可能還想將特殊規(guī)則應(yīng)用于進(jìn)出網(wǎng)格的流量等等。以上這些都可以通過使用 Istio 流量管理 API ——虛擬服務(wù)(Virtual Service)以及目標(biāo)規(guī)則(Destination Rule)實(shí)現(xiàn)。
“Istio流量策略控制” 視頻公開課
今天我們主要討論Destination Rule。前面我們提到的負(fù)載均衡、熔斷策略、連接池策略都是配置在Destination Rule上的。
Destination Rule定義在發(fā)生路由后應(yīng)用于服務(wù)流量的策略。這些規(guī)則指定負(fù)載平衡的配置,Sidecar的連接池大小以及離群值檢測(cè)設(shè)置,以從負(fù)載平衡池中檢測(cè)和清除不正常的主機(jī)。我們可以將虛擬服務(wù)視為將流量如何路由到給定目標(biāo)地址,然后使用目標(biāo)規(guī)則來配置該目標(biāo)的流量。在評(píng)估虛擬服務(wù)路由規(guī)則之后,目標(biāo)規(guī)則將應(yīng)用于流量的“真實(shí)”目標(biāo)地址。
Destination rules 是 Istio 流量路由的關(guān)鍵功能,它不能獨(dú)自使用,必須跟 Virtual Service 共同發(fā)揮作用。當(dāng) Destination rules 跟 Virtual Service 共同使用的時(shí)候,Virtual Service 決定將流量路由到邏輯地址,而 Destination rules 則決定流量路由到物理地址。
視頻中,我們會(huì)詳細(xì)介紹Destination Rule的功能和應(yīng)用。
視頻詳解“Istio流量控制”
https://v.qq.com/x/page/w0972p3lquh.html