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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Istio架构详解

發(fā)布時間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Istio架构详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Istio架構(gòu)及其組件概述

Istio 架構(gòu)總體來說分為控制面和數(shù)據(jù)面兩部分。
控制面是 Istio 的核心,管理 Istio 的所有功能,主要包括Pilot、Mixer、Citadel等服務(wù)組件;
數(shù)據(jù)面由伴隨每個應(yīng)用程序部署的代理程序Envoy組成,執(zhí)行針對應(yīng)用程序的治理邏輯。常被稱為“Sidecar”。Sidecar 一般和業(yè)務(wù)容器綁定在一起(在Kubernets中自動注入方式到業(yè)務(wù)pod中),來劫持業(yè)務(wù)應(yīng)用容器的流量,并接受控制面組件的控制,同時會向控制面輸出日志、跟蹤及監(jiān)控數(shù)據(jù)。

Istio 的主要組件及其相互關(guān)系大致如圖所示(摘自《云原生服務(wù)網(wǎng)格Istio》)。

?

結(jié)合上圖我們來理解Istio的各組件的功能及相互之間的協(xié)作方式。

1. 自動注入:在創(chuàng)建應(yīng)用程序時自動注入 Sidecar代理Envoy程序。在 Kubernetes中創(chuàng)建 Pod時,Kube-apiserver調(diào)用控制面組件的 Sidecar-Injector服務(wù),自動修改應(yīng)用程序的描述信息并注入Sidecar。在 真正創(chuàng)建Pod時,在創(chuàng)建業(yè)務(wù)容器的Pod中同時創(chuàng)建Sidecar容器。


2. 流量攔截:在 Pod 初始化時設(shè)置 iptables 規(guī)則,基于配置的iptables規(guī)則攔截業(yè)務(wù)容器的Inbound流量和Outbound流量到Sidecar上。而應(yīng)用程序感知不到Sidecar的存在,還以原本的方式 進(jìn)行互相訪問。上圖中,流出frontend服務(wù)的流量會被 frontend服務(wù)側(cè)的 Envoy攔截,而當(dāng)流量到達(dá)forecast容器時,Inbound流量被forecast 服務(wù)側(cè)的Envoy攔截。


3. 服務(wù)發(fā)現(xiàn):服務(wù)發(fā)起方的 Envoy 調(diào)用控制面組件 Pilot 的服務(wù)發(fā)現(xiàn)接口獲取目標(biāo)服務(wù)的實例列表。上圖中,frontend 服務(wù)側(cè)的 Envoy 通過 Pilot 的服務(wù)發(fā)現(xiàn)接口得到forecast服務(wù)各個實例的地址。


4. 負(fù)載均衡:服務(wù)發(fā)起方的Envoy根據(jù)配置的負(fù)載均衡策略選擇服務(wù)實例,并連接對應(yīng)的實例地址。上圖中,數(shù)據(jù)面的各個Envoy從Pilot中獲取forecast服務(wù)的負(fù)載均衡配置,并執(zhí)行負(fù)載均衡動作。


5. 流量治理:Envoy 從 Pilot 中獲取配置的流量規(guī)則,在攔截到 Inbound 流量和Outbound 流量時執(zhí)行治理邏輯。上圖中, frontend 服務(wù)側(cè)的 Envoy 從 Pilot 中獲取流量治理規(guī)則,并根據(jù)該流量治理規(guī)則將不同特征的流量分發(fā)到forecast服務(wù)的v1或v2版本。


6. 訪問安全:在服務(wù)間訪問時通過雙方的Envoy進(jìn)行雙向認(rèn)證和通道加密,并基于服務(wù)的身份進(jìn)行授權(quán)管理。上圖中,Pilot下發(fā)安全相關(guān)配置,在frontend服務(wù)和forecast服務(wù)的Envoy上自動加載證書和密鑰來實現(xiàn)雙向認(rèn)證,其中的證書和密鑰由另一個管理面組件 Citadel維護(hù)。


7. 服務(wù)監(jiān)測:在服務(wù)間通信時,通信雙方的Envoy都會連接管理面組件Mixer上報訪問數(shù)據(jù),并通過Mixer將數(shù)據(jù)轉(zhuǎn)發(fā)給對應(yīng)的監(jiān)控后端。上圖中,frontend服務(wù)對forecast服務(wù)的訪問監(jiān)控指標(biāo)、日志和調(diào)用鏈都可以通過這種方式收集到對應(yīng)的監(jiān)控后端。


8. 策略執(zhí)行:在進(jìn)行服務(wù)訪問時,通過Mixer連接后端服務(wù)來控制服務(wù)間的訪問,判斷對訪問是放行還是拒絕。上圖中,Mixer 后端可以對接一個限流服務(wù)對從frontend服務(wù)到forecast服務(wù)的訪問進(jìn)行速率控制等操作。


9. 外部訪問:在網(wǎng)格的入口處有一個Envoy扮演入口網(wǎng)關(guān)的角 色。上圖中,外部服務(wù)通過Gateway訪問入口服務(wù) frontend,對 frontend服務(wù)的負(fù)載均衡和一些流量治理策略都在這個Gateway上執(zhí)行。

下一篇介紹詳細(xì)組件!

?

總結(jié)

以上是生活随笔為你收集整理的Istio架构详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。