国产精品免费嫩草研究院|无遮羞动漫在线观看AV|国产麻豆精品传媒AV国产在线|村在线观看|寂寞情人1正版|韩国床震韩国床震古|精品系列专区久久

Istio Ambient Mesh七層服務(wù)治理圖文詳解

摘要:本文主要集中剖析Ambient mesh七層服務(wù)治理相關(guān)內(nèi)容 。
本文分享自華為云社區(qū)《Istio Ambient Mesh七層服務(wù)治理圖文詳解》,作者:華為云云原生團(tuán)隊(duì) 。
由于Ambient mesh的工作原理比較復(fù)雜,我們?cè)谏弦黄恼隆渡疃绕饰觯stio共享代理新模式Ambient Mesh》中主要剖析了Ambient mesh四層流量治理 。因此本文主要集中剖析七層治理部分 。建議在閱讀本文之前,讀者朋友先瀏覽上一篇文章 。
Ambient Mesh七層治理架構(gòu)Ambient mesh默認(rèn)對(duì)服務(wù)只進(jìn)行四層治理,用戶需要通過(guò)定義Gateway資源對(duì)象顯式的啟動(dòng)七層治理 。
apiVersion: gateway.networking.k8s.io/v1alpha2kind: Gatewaymetadata:name: productpageannotations:istio.io/service-account: bookinfo-productpagespec:gatewayClassName: istio-mesh
Istio Ambient Mesh七層服務(wù)治理圖文詳解

文章插圖
七層治理架構(gòu)
如圖所示,相比Ambient mesh四層服務(wù)治理,七層服務(wù)治理增加了新的waypoint組件,這是七層治理的核心組件,本質(zhì)上waypoint也是通過(guò)envoy實(shí)現(xiàn) 。服務(wù)網(wǎng)格七層的治理策略均作用在waypoint上 。Sidecar模式Istio七層治理時(shí),流量在客戶端和服務(wù)端的Sidecar中分別進(jìn)行七層協(xié)議的編解碼等操作;而七層流量在Ambient mesh中,七層流量的處理只在一個(gè)waypoint中 。默認(rèn),Pilot通過(guò)監(jiān)聽(tīng)Gateway對(duì)象,負(fù)責(zé)創(chuàng)建單實(shí)例的waypoint,那么所有的到Productpage的七層流量均由waypoint代理 。生產(chǎn)環(huán)境中,單實(shí)例waypoint往往不滿足高可用、高并發(fā)的要求,因此waypoint的擴(kuò)容策略還需要用戶通過(guò)第三方軟件例如HPA來(lái)實(shí)現(xiàn) 。
Ambient Mesh七層流量治理詳解
Istio Ambient Mesh七層服務(wù)治理圖文詳解

文章插圖
本例服務(wù)部署模型
Sleep發(fā)送側(cè)流量處理(1)sleep訪問(wèn)productpage的流量被同節(jié)點(diǎn)的tunnel以TPROXY(透明代理)方式攔截轉(zhuǎn)發(fā)到ztunnel(監(jiān)聽(tīng)127.0.0.1:15001),使用TPROXY的好處是保留原始的目的地址,ztunnel做轉(zhuǎn)發(fā)時(shí)必須依賴原始目的地址 。這里的攔截方式與前一篇文章中講的四層流量治理的攔截完全相同,因?yàn)樵贏mbient Mesh中網(wǎng)絡(luò)層的攔截完全不感知應(yīng)用層L7協(xié)議 。
-A PREROUTING -i pistioout -p tcp -j TPROXY --on-port 15001 --on-ip 127.0.0.1 --tproxy-mark 0x400/0xfff(2)ztunnel通過(guò)ztunnel_outbound監(jiān)聽(tīng)器,監(jiān)聽(tīng)在15001端口 。ztunnel_outbound監(jiān)聽(tīng)器與Istio Sidecar模式的監(jiān)聽(tīng)器完全不同,它包含所有本節(jié)點(diǎn)上的服務(wù)到整個(gè)網(wǎng)格其他服務(wù)的FilterChain(過(guò)濾器鏈) 。
Istio Ambient Mesh七層服務(wù)治理圖文詳解

文章插圖
ztunnel_outbound監(jiān)聽(tīng)器
ztunnel_outbound監(jiān)聽(tīng)器如何選擇合適的FilterChain處理流量的呢?如下圖所示,ztunnel_outbound監(jiān)聽(tīng)器中設(shè)置了filter_chain_matcher 。其中通過(guò)匹配數(shù)據(jù)包的源IP(10.244.1.4,即sleep容器的地址)、目的IP(10.96.179.71,即produtpage服務(wù)的ClusterIP)及目的端口(9080即productpage服務(wù)端口號(hào)),可以選擇名稱為"spiffe://cluster.local/ns/default/sa/sleep_to_server_waypoint_proxy_spiffe://cluster.local/ns/default/sa/bookinfo-productpage"的FilterChain來(lái)處理Sleep發(fā)往Productpage的請(qǐng)求 。
Istio Ambient Mesh七層服務(wù)治理圖文詳解

文章插圖
FilterChain 匹配器
【Istio Ambient Mesh七層服務(wù)治理圖文詳解】(3)"spiffe://cluster.local/ns/default/sa/sleep_to_server_waypoint_proxy_spiffe://cluster.local/ns/default/sa/bookinfo-productpage" FilterChain,包含一個(gè)TCPProxy過(guò)濾器,并且關(guān)聯(lián)到與FilterChain同名的Cluster 。即訪問(wèn)請(qǐng)求交由同名的 Cluster處理
Istio Ambient Mesh七層服務(wù)治理圖文詳解

文章插圖
FilterChain
(4)"spiffe://cluster.local/ns/default/sa/sleep_to_server_waypoint_proxy_spiffe://cluster.local/ns/default/sa/bookinfo-productpage" Cluster為EDS類型,包含的Endpoint地址為10.244.1.8:15006,即waypoint容器的監(jiān)聽(tīng)地址 。后面我們可以看到waypoint中有監(jiān)聽(tīng)器監(jiān)聽(tīng)在15006端口 。此Cluster負(fù)責(zé)將流量進(jìn)行加密,然后發(fā)送到waypoint(10.244.1.8:15006) 。

經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀