国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺析Istio組件Envoy的流量管理

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
Envoy的核心工作內(nèi)容在于對業(yè)務(wù)透明的請求攔截,將所有進出流量進行管理。對攔截的請求進行一定的規(guī)則進行安全訪問控制、接入控制、流量控制等諸多方面處理后,發(fā)送給應(yīng)用程序。

背景介紹

微服務(wù)架構(gòu)帶來的開發(fā)便捷性使業(yè)務(wù)功能的開發(fā)周期明顯縮短,通過對于云計算平臺架構(gòu)的原生優(yōu)化,讓業(yè)務(wù)功能的持續(xù)集成與交付更為敏捷。但同時微服務(wù)架構(gòu)也引入了服務(wù)治理的諸多問題:一個應(yīng)用由多個服務(wù)組成,每個服務(wù)有數(shù)個實例,每個實例的運行狀態(tài)又在實時變化,這些催生了服務(wù)間通訊層的出現(xiàn)。通訊層既不與應(yīng)用程序代碼耦合,又能捕獲到底層環(huán)境的動態(tài)變化并作出適當(dāng)?shù)恼{(diào)整,避免業(yè)務(wù)出現(xiàn)單點故障。

1.ServiceMesh簡介

1.1服務(wù)網(wǎng)格(Service Mesh)簡介

服務(wù)網(wǎng)絡(luò)是一個基礎(chǔ)設(shè)施層,用于處理服務(wù)間通信。云原生應(yīng)用有著復(fù)雜的服務(wù)拓撲,服務(wù)網(wǎng)格負責(zé)在這些拓撲中實現(xiàn)請求的可靠傳遞。在實踐中,服務(wù)網(wǎng)格通常實現(xiàn)為一組輕量級網(wǎng)絡(luò)代理,它們與應(yīng)用程序一起部署,但對應(yīng)用程序透明。

從局部看,服務(wù)網(wǎng)格技術(shù)就是在應(yīng)用節(jié)點上部署代理,應(yīng)用將請求發(fā)給代理,由代理完成點對點的路由轉(zhuǎn)發(fā)。

在上面的圖中,如果把左邊圖中的應(yīng)用程序去掉,只呈現(xiàn)出來代理和它們之間的調(diào)用關(guān)系(即右圖)。這時Service Mesh的概念就會清晰:代理和調(diào)用關(guān)系形成完整的網(wǎng)絡(luò),代表服務(wù)間復(fù)雜的調(diào)用關(guān)系,承載著系統(tǒng)內(nèi)的所有應(yīng)用。

1.2服務(wù)網(wǎng)絡(luò)架構(gòu)特點及優(yōu)勢

1)點對點通訊:沒有中心瓶頸。

2對應(yīng)用無入侵:可以支持異構(gòu)技術(shù)產(chǎn)品的集成。同時對應(yīng)用透明,應(yīng)用開發(fā)不再需要關(guān)心復(fù)雜的網(wǎng)絡(luò)通訊實現(xiàn),可以專注業(yè)務(wù)邏輯的實現(xiàn)。

2.Istio及Envoy簡介

Istio是一個由Google,IBM和Lyft團隊合作開發(fā)的開源Service Mesh框架。目前已成為ServiceMesh的事實技術(shù)標準,被廣泛應(yīng)用于各個行業(yè)的IT架構(gòu)。

Envoy 是用 C++語言開發(fā)的高性能代理,其內(nèi)置服務(wù)發(fā)現(xiàn)、負載均衡、TLS終止、HTTP/2、GRPC代理、熔斷器、健康檢查,基于百分比流量拆分的灰度發(fā)布、故障注入等功能,用于協(xié)調(diào)服務(wù)網(wǎng)格中所有服務(wù)的入站和出站流量。

3.Envoy流量管理的原理

3.1Iptables介紹

Istio調(diào)用Linux中的iptables進行流量管理。iptables是一個運行在用戶空間的應(yīng)用軟件,它通過控制Linux內(nèi)核netfilter模塊,來管理網(wǎng)絡(luò)數(shù)據(jù)包的流動與轉(zhuǎn)送,實際上netfilter才是防火墻真正的安全框架。netfilter是Linux網(wǎng)絡(luò)安全大廈的基石,它提供了一整套鉤子(Hook)函數(shù)機制,IP層的5個鉤子點對應(yīng)了iptables的5個內(nèi)置鏈條:

  • PREROUTING:在此DNAT。
  • POSTROUTING:在此SNAT。
  • INPUT:處理輸入給本地進程的封包。
  • OUTPUT:處理本地進程輸出的封包。
  • FORWARD:處理轉(zhuǎn)發(fā)給其他機器、其他網(wǎng)絡(luò)命名空間的封包。

3.2關(guān)于網(wǎng)絡(luò)入站的IP封包

從網(wǎng)絡(luò)入站的IP封包,先入TREOUTING鏈,而后進行路由判斷:

1)如果封包路由目的地是本機:則進入INPUT鏈,然后發(fā)給本地進程。

2如果封包路由目的地不是本機,并且啟用了IP轉(zhuǎn)發(fā),則進入FORWARD鏈,然后通過POSTROUTING鏈,最后經(jīng)過網(wǎng)網(wǎng)絡(luò)接口發(fā)走。

3對于本地進程發(fā)往協(xié)議棧的封包,則首先通過OUTPUT鏈,然后通過POSTROUTING鏈,最后經(jīng)過網(wǎng)絡(luò)接口發(fā)走。

3.3關(guān)于自定義鏈

除此以外,我們還可以自定義鏈,但自定義鏈只能被某個默認的鏈當(dāng)做動作去調(diào)用才能起作用。

在Kubernetes中Istio通過Admission webhook的機制將Envoy Sidecar自動注入,與應(yīng)用容器運行于同一個Pod中,這種情況下它們將共享網(wǎng)絡(luò)名稱空間,因此也使用同一個網(wǎng)絡(luò)協(xié)議棧。

Istio 給應(yīng)用 Pod 注入的配置主要包括:

1)Init 容器 istio-init:用于Pod中設(shè)置iptables端口轉(zhuǎn)發(fā)。

2) Sidecar 容器 istio-proxy:運行Envoy Sidecar代理。

3.4Iptables配置規(guī)則

在容器初始化后,我們進入Sidecar容器切換為root用戶,查看配置的iptables規(guī)則。

iptables -t nat -S

ISTIO_INBOUND 鏈:對所有進入Pod但非指定端口(如22)的流量全部重定向至15006端口(Envoy入口流量端口)進行攔截處理。

ISTIO_OUTPUT 鏈:將由 istio-proxy 用戶空間發(fā)出且目的地不為localhost的Pod流出流量全部重定向至15001端口(envoy出口流量端口)。其他流量全部直接放行至下一個POSTROUTING鏈,不用被Envoy攔截處理。

整體流量流向示意圖如下圖所示:

1)進入Pod的Inbound流量首先被PREROUTING鏈攔截并處理。

2當(dāng)TCP請求進入PREROUTING鏈時全部交給ISTIO_INBOUND處理。

-A PREROUTING -p tcp -j ISTIO_INBOUND

3請求目標端口非15008/22/15090/15021/15020的TCP請求全部交給ISTIO_IN_REDIRECT處理。

-A ISTIO_INBOUND -p tcp -j ISTIO_IN_REDIRECT

4將發(fā)送到此的TCP請求全部重定向至15006端口(Envoy入口流量端口)

-A ISTIO_IN_REDIRECT -p tcp -j REDIRECT --to-ports 15006

5)在Envoy內(nèi)部處理后,決定將數(shù)據(jù)包轉(zhuǎn)發(fā)到應(yīng)用,這一步對Envoy來說屬于出口流量,會被netfilter攔截轉(zhuǎn)發(fā)至出口流量OUTPUT鏈。

6出站請求,當(dāng)TCP請求進入OUTPUT鏈時全部交給ISTIO_OUTPUT處理。

-A OUTPUT -p tcp -j ISTIO_OUTPUT

7匹配出站請求對應(yīng)規(guī)則,請求本地服務(wù),出口為lo網(wǎng)卡同時來自istio-proxy用戶空間,流量返回到它的調(diào)用點中的下一條鏈執(zhí)行,即POSTROUTING鏈 。

-A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN -A ISTIO_OUTPUT -m owner 
--gid-owner 1337 -j RETURN

8Sidecar發(fā)出的請求到達目標應(yīng)用。

9目標應(yīng)用處理完業(yè)務(wù)邏輯后響應(yīng)Sidecar,這一步對應(yīng)用來說屬于出口流量,再次被netfilter攔截轉(zhuǎn)發(fā)至出口流量OUTPUT鏈。

10 出站請求,當(dāng)TCP請求進入OUTPUT鏈時全部交給ISTIO_OUTPUT處理。

-A OUTPUT -p tcp -j ISTIO_OUTPUT

11請求下一個服務(wù)/響應(yīng)請求,即請求非本地服務(wù)同時不來自istio-proxy用戶空間,流量被轉(zhuǎn)發(fā)至ISTIO_REDIRECT鏈。

-A ISTIO_OUTPUT -j ISTIO_REDIRECT

12將重定向于此的TCP協(xié)議請求流量全部重定向至15001端口(Envoy出口流量端口)。

-A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001

13在Envoy內(nèi)部處理后,決定將數(shù)據(jù)包對外轉(zhuǎn)發(fā),這一步對Envoy來說屬于出口流量,會被netfilter攔截轉(zhuǎn)發(fā)至出口流量OUTPUT鏈。

14出站請求,當(dāng)TCP請求進入OUTPUT鏈時全部交給ISTIO_OUTPUT處理。

-A OUTPUT -p tcp -j ISTIO_OUTPUT

15請求非本地的服務(wù),出口不為lo網(wǎng)卡同時來自istio-proxy用戶空間則跳過了ISTIO_REDIREC處理,直接RETURN到下一個鏈,即POSTROUTING鏈

-A ISTIO_OUTPUT -m owner --uid-owner 1337 -j RETURN -A ISTIO_OUTPUT -m owner 
--gid-owner 1337 -j RETURN

16POSTROUTING鏈處理完成后,根據(jù)路由表選擇合適的網(wǎng)卡發(fā)送Outbound流量。

4.總結(jié)

Envoy的核心工作內(nèi)容在于對業(yè)務(wù)透明的請求攔截,將所有進出流量進行管理。對攔截的請求進行一定的規(guī)則進行安全訪問控制、接入控制、流量控制等諸多方面處理后,發(fā)送給應(yīng)用程序。通過使用Envoy,可以使開發(fā)者專注于應(yīng)用功能的開發(fā),不用考慮復(fù)雜的網(wǎng)絡(luò)通訊。

責(zé)任編輯:武曉燕 來源: 匠心獨運維妙維效
相關(guān)推薦

2023-11-09 07:23:57

Istio路由分析

2023-12-25 07:46:35

GatewayAPI開源

2021-07-28 06:26:33

Istio 流量管理微服務(wù)

2023-11-07 07:46:02

GatewayKubernetes

2009-07-15 11:02:32

Swing組件

2021-11-01 08:16:26

模型Istio服務(wù)

2023-12-05 07:21:17

IstioEnvoy

2023-12-12 07:30:54

IstioWasm前端

2010-10-08 14:31:00

網(wǎng)絡(luò)流量監(jiān)測

2024-04-28 08:24:27

分布式架構(gòu)Istio

2021-07-27 06:51:53

Istio 微服務(wù)Service Mes

2011-12-29 15:35:39

Web

2009-09-22 16:14:41

ViewBox組件

2010-06-07 14:23:40

Linux流量監(jiān)控

2009-08-05 16:53:14

ASP.NET組件設(shè)計

2021-03-17 21:34:44

Linux內(nèi)存管理

2025-03-27 05:25:00

2009-08-03 16:27:17

2009-08-10 14:48:39

ASP.NET組件設(shè)計

2023-11-07 17:32:31

Istiok8s
點贊
收藏

51CTO技術(shù)棧公眾號

国产精品迅雷| 精品一区二区影视| 欧美精品一区在线观看| 啊啊啊好爽视频| 91免费国产在线观看| 老汉色影院首页| 日韩av成人高清| 九九九九精品| 国产精品久久久久蜜臀| 4p变态网欧美系列| 国产在线一区不卡| 精品国产一区av| 国产黄色一区| 日韩成人中文电影| 久久免费电影| 日韩欧美一级精品久久| 一级日本在线| 91精品一区二区三区久久久久久| 国产精品久久一区二区三区不卡| 欧美日韩在线第一页| 中文字幕av高清在线观看| 一区二区三区中文字幕电影| 国产美女视频黄a视频免费| 成人免费在线视频观看| 制服丝袜影音| 亚洲免费观看在线视频| 一级毛片电影| 欧美日韩午夜视频在线观看| 好男人免费精品视频| 91福利视频网站| 日本在线观看免费| 日韩小视频在线观看专区| 18视频在线观看网站| 精品国产第一区二区三区观看体验| 福利片在线看| 日韩一区二区在线看片| 色老头在线观看| 欧美精品一区男女天堂| 色在线中文字幕| 日韩中文av在线| 盗摄系列偷拍视频精品tp| 97在线观看免费高清| 五月综合久久| 亚洲直播在线一区| 国产精品嫩草99av在线| 亚洲欧洲精品在线观看| 大白屁股一区二区视频| 亚洲天堂av线| 亚洲国产另类av| 91美女视频在线| 亚洲激情免费观看| 日本久久伊人| 欧洲成人午夜免费大片| 一区二区亚洲| 男人天堂网站在线| 亚洲视频你懂的| 黄色片网站在线观看| 中文字幕亚洲一区二区三区| 午夜精品影视国产一区在线麻豆| 成人免费观看网站| 国产91精品免费| 粉嫩欧美一区二区三区| 精品国产乱码久久久久久影片| 亚洲国产天堂| 91免费观看网站| 精品制服美女丁香| 别急慢慢来1978如如2| 精品毛片网大全| 黑人巨大精品欧美一区二区桃花岛| 2019中文字幕在线免费观看| 亚洲永久免费| 久久久久人妻精品一区三寸| 在线视频欧美精品| av成人免费| av激情久久| 国产午夜亚洲精品理论片色戒| 伊人免费在线| 久久久久久久国产精品视频| 免费国产自线拍一欧美视频| 成人网址大全| 亚洲国产精品免费| 天天精品视频| 久久婷婷国产精品| 91精品国产综合久久精品图片 | 国产午夜在线视频| 中文字幕一区二区精品| 91tv官网精品成人亚洲| 精品欧美一区免费观看α√| 色一情一乱一乱一91av| 国产精一区二区| 日韩视频精品| 欧美日韩中文字幕| 成人自拍视频| 熟妇熟女乱妇乱女网站| 色综合天天综合给合国产| 亚洲乱码一区| 黄色高清视频网站| 在线观看av一区| 嫩草国产精品入口| 亚洲国产精品无码av| 日韩亚洲欧美在线观看| 国产韩国精品一区二区三区| 无码少妇一区二区三区芒果| 日韩精品免费在线视频| 影音先锋久久精品| 激情综合色综合啪啪开心| www.性欧美| 日韩激情av| 亚洲专区国产精品| 伊人婷婷欧美激情| 国产日韩在线观看视频| 手机看片日韩国产| 欧美大胆人体bbbb| 亚洲精品社区| 国产天堂在线| 亚洲综合一区二区不卡| 亚洲午夜激情网站| 美国十次av导航亚洲入口| 六月激情综合网| www.xxxx欧美| 91在线观看污| www.欧美视频| 青青在线视频观看| 精品国产欧美一区二区三区成人| 国产美女在线精品| xx欧美xxx| 日韩a级黄色片| 亚洲人永久免费| 成人一道本在线| 欧洲午夜精品| 人妻有码中文字幕| 欧美日韩国产成人在线| www成人在线观看| 99精品在线免费观看| 国产精品自拍片| 欧美国产日韩一区| 亚洲欧美视频在线观看视频| 国产精选一区| 巨骚激情综合| 任我爽在线视频精品一| 日韩经典中文字幕| 99久久久免费精品国产一区二区| 精品亚洲a∨一区二区三区18| 一区二区在线播放视频| 欧美一区第一页| 精品久久久一区| 伊人久久亚洲影院| 精品三级久久| 欧美日本视频在线观看| 国内精品美女av在线播放| 亚洲精品免费电影| 亚洲女同一区| 怡红院av在线| 欧美一级欧美一级| 欧美性受xxxx白人性爽| 日韩欧美亚洲成人| 免费观看一级特黄欧美大片| 九九九精品视频| 男女小视频在线观看| 国产精品99久久久久久久| 337p日本欧洲亚洲大胆精品 | 亚洲成人中文在线| 中文日韩在线| 国产福利亚洲| 污视频网站在线看| 精品国产综合| 在线日韩欧美视频| 亚洲啪啪综合av一区二区三区| 欧美日韩亚洲国产精品| 亚洲天堂免费电影| 九七影院97影院理论片免费| 国产精品日韩高清| 中文字幕免费精品一区| 亚洲自拍偷拍图区| 天堂va蜜桃一区二区三区漫画版| av在线播放一区| 1024在线视频| 色综合影院在线观看| 欧美激情区在线播放| 欧美中文字幕亚洲一区二区va在线 | 欧美日本三区| 精品一性一色一乱农村| 成人一对一视频| 亚洲在线www| 日韩亚洲欧美中文高清在线| 疯狂蹂躏欧美一区二区精品| 韩国一区二区在线观看| 欧美日韩播放| 欧美gv在线观看| 成人在线观看视频app| 免费观看亚洲视频| 亚洲va欧美va国产综合剧情| 最近2019免费中文字幕视频三| 亚洲国产视频一区二区| 精品一区二区三区免费视频| 精品成av人一区二区三区| 波多野结衣乳巨码无在线观看| www.xxx黄| 日本一区二区免费高清视频| 成人高清视频观看www|