新聞中心
自問(wèn)世以來(lái),Istio因其使用Sidecar(可編程代理與應(yīng)用容器一同部署)而備受認(rèn)可。這種架構(gòu)選擇使Istio用戶能夠享受其好處,而無(wú)需對(duì)其應(yīng)用進(jìn)行 drast 改變。這些可編程代理,與應(yīng)用容器緊密部署在一起,因其能夠引入Istio的諸多好處而備受贊譽(yù),同時(shí)又無(wú)需對(duì)應(yīng)用進(jìn)行重大更改。但總有改進(jìn)的空間,現(xiàn)在Istio引入了環(huán)境化Mesh,這是其架構(gòu)的重大演進(jìn)。

創(chuàng)新互聯(lián)是專業(yè)的海淀網(wǎng)站建設(shè)公司,海淀接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行海淀網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
Sidecar模型:優(yōu)勢(shì)和限制
傳統(tǒng)Istio模型:Istio在工作負(fù)載的Pod中部署Envoy代理作為Sidecar。
Sidecar的優(yōu)勢(shì):無(wú)需重構(gòu)應(yīng)用即可享受Istio的功能。
Sidecar的限制:
- 侵入性: Sidecar需要集成到應(yīng)用中,影響其Kubernetes Pod規(guī)格并重定向Pod流量。這經(jīng)常導(dǎo)致需要重啟應(yīng)用Pod。
- 資源利用不足: 由于每個(gè)Sidecar代理專門分配給其配對(duì)的工作負(fù)載,資源分配可能導(dǎo)致集群效率低下。
- 流量中斷: Istio的Sidecar可能對(duì)一些應(yīng)用的流量捕獲和HTTP處理造成問(wèn)題。
環(huán)境化Mesh:克服限制
環(huán)境化Mesh采用分層方法,分割了Istio的功能:
- 基礎(chǔ)層: 一個(gè)安全的覆蓋層,負(fù)責(zé)路由和確保流量的零信任安全。
- 上層: 當(dāng)用戶需要訪問(wèn)Istio的廣泛功能時(shí),可以啟用L7處理,而無(wú)需改變應(yīng)用Pod。
這種方法的優(yōu)勢(shì)包括:
- 允許逐步采用Istio:從無(wú)Mesh -> 安全覆蓋層 -> 完整的L7處理。
- 在不同環(huán)境模式或帶有Sidecar的工作負(fù)載之間實(shí)現(xiàn)兼容性。
環(huán)境化Mesh的工作原理
- 在Kubernetes集群的每個(gè)節(jié)點(diǎn)上都有一個(gè)共享代理(ztunnel),負(fù)責(zé)Mesh內(nèi)的安全連接。
- Ztunnel僅處理L4流量,將Istio的數(shù)據(jù)平面與應(yīng)用關(guān)注點(diǎn)分離。
- 當(dāng)命名空間激活環(huán)境化模式時(shí),將建立一個(gè)零信任覆蓋層(具有mTLS、遙測(cè)、認(rèn)證和L4授權(quán))。
- 對(duì)于L7功能,命名空間可以部署一個(gè)或多個(gè)基于Envoy的Waypoint代理。這些代理可以根據(jù)實(shí)時(shí)流量需求進(jìn)行自動(dòng)縮放。
安裝環(huán)境化Mesh
(1) 下載Istio的最新版本,其中包含對(duì)環(huán)境化Mesh的alpha支持。
(2) 安裝Kubernetes網(wǎng)關(guān)CRDs,在大多數(shù)Kubernetes集群上默認(rèn)未安裝
kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
{ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v0.8.0" | kubectl apply -f -; }(3) ambient配置文件旨在幫助您開始使用環(huán)境化Mesh。使用上面下載的istioctl命令,在您的Kubernetes集群上安裝帶有ambient配置文件的Istio:
istioctl install --set profile=ambient --set "components.ingressGateways[0].enabled=true" --set "components.ingressGateways[0].name=istio-ingressgateway" --skip-confirmation- 安裝了Istio核心
- 安裝了Istiod
- 安裝了CNI
- 安裝了入口網(wǎng)關(guān)
- 安裝了Ztunnel
- 安裝完成
(4) 使用以下命令驗(yàn)證已安裝的組件:
kubectl get pods -n istio-system
名稱 就緒 狀態(tài) 重啟次數(shù) 年齡
istio-cni-node-n9tcd 1/1 運(yùn)行中 0 57秒
istio-ingressgateway-5b79b5bb88-897lp 1/1 運(yùn)行中 0 57秒
istiod-69d4d646cd-26cth 1/1 運(yùn)行中 0 67秒
ztunnel-lr7lz 1/1 運(yùn)行中 0 69秒
kubectl get daemonset -n istio-system
名稱 預(yù)期 當(dāng)前 就緒 最新 可用 節(jié)點(diǎn)選擇器 年齡
istio-cni-node 1 1 1 1 1 kubernetes.io/os=linux 70秒
ztunnel 1 1 1 1 1 kubernetes.io/os=linux 82秒安全考慮
環(huán)境化Mesh將安全性放在首位:
Ztunnel:盡管是一個(gè)共享資源,但ztunnel將其密鑰限制在其節(jié)點(diǎn)上的工作負(fù)載上,降低風(fēng)險(xiǎn)。
- Waypoint代理: 這些共享資源被限制在一個(gè)服務(wù)賬戶中,減少了來(lái)自受損代理的潛在傷害。
- Envoy的作用: 憑借其強(qiáng)大、經(jīng)過(guò)考驗(yàn)的特性,Envoy被認(rèn)為比它配對(duì)的許多應(yīng)用更安全。
性能和資源影響
- 資源效率: 環(huán)境化Mesh的ztunnel減少了每個(gè)工作負(fù)載的預(yù)留資源。Waypoint代理的動(dòng)態(tài)擴(kuò)展也確保了資源優(yōu)化。
- 延遲問(wèn)題: 雖然有一種看法認(rèn)為Waypoint代理可能引入延遲,但I(xiàn)stio認(rèn)為這能夠通過(guò)與傳統(tǒng)Sidecar模型相比減少的L7處理來(lái)平衡。
Sidecar的未來(lái)
環(huán)境化Mesh的推出并不意味著Sidecar的結(jié)束。它們?nèi)匀贿m用于需要專用數(shù)據(jù)平面資源的情景,比如合規(guī)性或性能調(diào)整。Istio將繼續(xù)支持Sidecar,確保它們與環(huán)境化Mesh和諧共存。
總之,環(huán)境化Mesh代表了服務(wù)網(wǎng)格架構(gòu)邁出的一大步,解決了Sidecar模型的一些挑戰(zhàn),并為用戶提供了更多的靈活性和效率。
當(dāng)前標(biāo)題:Istio新架構(gòu)揭秘:環(huán)境化Mesh
文章源于:http://fisionsoft.com.cn/article/cojsgjg.html


咨詢
建站咨詢
