欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

這篇“kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP”文章吧。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為堯都企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè),堯都網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

為什么需要獲取客戶端真實(shí)源 IP?

當(dāng)需要能感知到服務(wù)請(qǐng)求來源去滿足一些業(yè)務(wù)需求時(shí),就需要后端服務(wù)能準(zhǔn)確獲取到請(qǐng)求客戶端的真實(shí)源 IP, 比如以下場(chǎng)景:

  1. 對(duì)服務(wù)請(qǐng)求的來源有做審計(jì)的需求,如異地登陸告警。

  2. 針對(duì)安全攻擊或安全事件溯源需求,如 APT 攻擊、DDoS 攻擊等。

  3. 業(yè)務(wù)場(chǎng)景數(shù)據(jù)分析需求,如業(yè)務(wù)請(qǐng)求區(qū)域統(tǒng)計(jì)。

  4. 其他需要獲取客戶端地址的需求。

在 TKE 使用場(chǎng)景下如何獲取客戶端真實(shí)源 IP?

在TKE中默認(rèn)的外部負(fù)載均衡器是 騰訊云負(fù)載均衡器,作為服務(wù)流量的訪問首入口,騰訊云負(fù)載均衡器會(huì)將請(qǐng)求流量負(fù)載轉(zhuǎn)發(fā)到 Kubernetes 工作節(jié)點(diǎn)的 Kubernets Service(默認(rèn)),此負(fù)載均衡過程會(huì)保留客戶端真實(shí)源 IP(透?jìng)鬓D(zhuǎn)發(fā)),但在 Kubernetes Service 轉(zhuǎn)發(fā)場(chǎng)景下,無論是使用 iptbales 還是 ipvs 的負(fù)載均衡轉(zhuǎn)發(fā)模式,轉(zhuǎn)發(fā)時(shí)都會(huì)對(duì)數(shù)據(jù)包做 SNAT,即不會(huì)保留客戶端真實(shí)源 IP,為了能夠準(zhǔn)確的獲取到客戶端的真實(shí)源 IP,在 TKE 使用場(chǎng)景下,主要有四種方法獲取客戶端真實(shí)源 IP,下面將逐個(gè)展開介紹下。

一、通過 Service 資源的配置選項(xiàng)保留客戶端源 IP

要啟用保留客戶端 IP 功能,可在 Service 資源中配置字段 Service.spec.externalTrafficPolicy,此字段表示服務(wù)是否希望將外部流量路由到節(jié)點(diǎn)本地或集群范圍的端點(diǎn)。有兩個(gè)選項(xiàng)值:Cluster(默認(rèn))和 Local 方式,如下圖所示:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

Cluster 表示隱藏了客戶端源 IP, LoadBalancerNodePort 類型服務(wù)流量可能會(huì)被轉(zhuǎn)發(fā)到其他節(jié)點(diǎn)的 Pods; Local 表示保留客戶端源 IP 并避免 LoadBalancerNodePort 類型的服務(wù)流量轉(zhuǎn)發(fā)到其他節(jié)點(diǎn)的 Pods,詳情請(qǐng)參考 kubernets設(shè)置外部負(fù)載均衡器說明。相關(guān) YAML 配置示例如下:

apiVersion: v1
kind: Service
metadata:
  name: example-Service
spec:
  selector:
    app: example-Service
  ports:
    - port: 8765
      targetPort: 9376
  externalTrafficPolicy: Local
  type: LoadBalancer

優(yōu)點(diǎn):只需要修改 Kubernets Service 資源配置即可。

缺點(diǎn):會(huì)存在潛在的 Pods(Endpoints)流量負(fù)載不均衡風(fēng)險(xiǎn)。

二、通過TKE原生的 CLB 直通 Pod 轉(zhuǎn)發(fā)模式獲取

使用TKE原生支持的 CLB 直通 Pod 的轉(zhuǎn)發(fā)功能(CLB 透?jìng)鬓D(zhuǎn)發(fā),并繞過 Kubernetes Service 流量轉(zhuǎn)發(fā)),后端 Pods 收到的請(qǐng)求的源IP即是客戶端真實(shí)源IP,此方式無論是在四層還是七層服務(wù)的轉(zhuǎn)發(fā)場(chǎng)景下都適用,轉(zhuǎn)發(fā)原理如下圖:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

詳細(xì)介紹和配置請(qǐng)參考文檔 TKE場(chǎng)景下騰訊云CLB直通Pod使用場(chǎng)景介紹。

優(yōu)點(diǎn):TKE原生支持的功能特性,只需在控制臺(tái)按照文檔配置即可。

缺點(diǎn):集群需要開啟 VPC-CNI 模式網(wǎng)絡(luò),詳情參考文檔 VPC-CNI 模式說明

三、通過 HTTP Header 獲取

在七層(HTTP/HTTPS)服務(wù)轉(zhuǎn)發(fā)場(chǎng)景下,可以通過獲取 Http Header 中 X-Forwarded-ForX-Real-IP 字段的值來獲取客戶端真實(shí)源 IP, TKE 中有兩種場(chǎng)景使用方式,原理介紹如下:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

在場(chǎng)景一中,騰訊云負(fù)載均衡器(CLB 七層) 默認(rèn)會(huì)將客戶端真實(shí)源IP放到 HTTP Header 的 X-Forwarded-ForX-Real-IP 字段,當(dāng)服務(wù)流量在經(jīng)過 Service 四層轉(zhuǎn)發(fā)后會(huì)保留上述字段,后端通過WEB服務(wù)器代理配置或應(yīng)用代碼方式獲取到客戶端真實(shí)源IP,詳情參考請(qǐng)文檔 負(fù)載均衡如何獲取客戶端真實(shí) IP - 最佳實(shí)踐 - 文檔中心 - 騰訊云;

在場(chǎng)景二中, Nginx Ingress 服務(wù)部署需要 Nginx Ingress 能直接感知客戶端真實(shí)源 IP,可以采用保留客戶端源IP的配置方式(詳情參考 kubernets設(shè)置外部負(fù)載均衡器說明 ),或通過 CLB 直通 Pod 的方式(詳情參考 TKE場(chǎng)景下騰訊云CLB直通Pod使用場(chǎng)景介紹),當(dāng) Nginx Ingress 在轉(zhuǎn)發(fā)請(qǐng)求時(shí)會(huì)通過 X-Forwarded-ForX-Real-IP 字段來記錄客戶端源 IP,后端可以通過此字段獲得客戶端真實(shí)源 IP。

下面詳細(xì)介紹在 TKE 中兩種場(chǎng)景的配置使用方法:

  • 場(chǎng)景一:使用 TKE Ingress 獲取真實(shí)源 IP

    在TKE控制臺(tái)先為工作負(fù)載創(chuàng)建一個(gè)主機(jī)端口訪問方式的 Service 資源,如下圖:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

然后在控制臺(tái)為 Service 新建一個(gè)對(duì)應(yīng)的 Ingress 訪問入口,如下圖:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

待配置生效后,在后端通過獲取 HTTP Header 中的 X-Forwarded-ForX-Real-IP 字段值得到客戶端真實(shí)源 IP。后端抓包測(cè)試結(jié)果示例如下:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

  • 場(chǎng)景二: 使用 Nginx Ingress 獲取真實(shí)源 IP

Nginx Ingress 可以通過 TKE 應(yīng)用商店、自定義 YAML 配置或使用官方(helm 安裝)方式安裝,原理和部署方法可參考文檔 在 TKE 上部署 Nginx Ingress 中的部署方案一或方案三,若選擇方案一部署,則需要修改 Nginx Ingress Controller Service 的 externalTrafficPolicy 字段值為 Local 。安裝完成后,會(huì)在TKE控制臺(tái)自動(dòng)為 Nginx Ingress Controller 服務(wù)創(chuàng)建一個(gè) CLB(四層)訪問入口,如下圖所示:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

為要轉(zhuǎn)發(fā)的后端服務(wù)創(chuàng)建一個(gè) Ingress 資源并配置轉(zhuǎn)發(fā)規(guī)則, 可以使用以下 YAML 創(chuàng)建:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx  # ingressClass類為"nginx"
  name: example
  namespace: default
spec:
  rules:  # 配置服務(wù)轉(zhuǎn)發(fā)規(guī)則
     - http:
        paths:
          - backend:
              serviceName: nginx  
              servicePort: 80
            path: /

待配置生效后,在后端獲取 Http Header 中的 X-Forwarded-ForX-Real-IP 字段值得到客戶端真實(shí)源 IP,后端抓包測(cè)試結(jié)果示例如下:

kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP

以上介紹的兩種場(chǎng)景都可以滿足獲取客戶端真實(shí)源 IP 的需求,且具有以下優(yōu)點(diǎn)和缺點(diǎn):

優(yōu)點(diǎn):在七層(HTTP/HTTPS)流量轉(zhuǎn)發(fā)場(chǎng)景下比較推薦,可通過WEB服務(wù)代理的配置或后端應(yīng)用代碼直接獲取 Http Header 中的字段即可拿到客戶端真實(shí)IP,非常簡(jiǎn)單高效。

缺點(diǎn):僅適用于七層(HTTP/HTTPS)流量轉(zhuǎn)發(fā)場(chǎng)景,不適用于四層轉(zhuǎn)發(fā)場(chǎng)景,如果是四層轉(zhuǎn)發(fā)場(chǎng)景,請(qǐng)使用后面介紹的其他方式。

四、通過 TOA 內(nèi)核模塊加載獲取真實(shí)源 IP

TOA 內(nèi)核模塊原理和加載方式參考 全球應(yīng)用加速 獲取訪問用戶真實(shí) IP - 操作指南 - 文檔中心 - 騰訊云 文檔。

優(yōu)點(diǎn):對(duì)于 TCP 傳輸方式,在內(nèi)核層面且僅對(duì) TCP 連接的首包進(jìn)行改造,幾乎沒有性能損耗。

缺點(diǎn)

  1. 需要在集群工作節(jié)點(diǎn)上加載 TOA 內(nèi)核模塊,且需在服務(wù)端通過函數(shù)調(diào)用獲取攜帶的源 IP、端口信息,配置使用比較麻煩。

  2. 對(duì)于 UDP 傳輸方式,會(huì)對(duì)每個(gè)數(shù)據(jù)包改造添加 option 數(shù)據(jù)(源 IP 和源端口),帶來網(wǎng)絡(luò)傳輸通道性能損耗。

以上就是關(guān)于“kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:kubernetes怎么在容器服務(wù)中獲取客戶端真實(shí)源IP
轉(zhuǎn)載源于:http://aaarwkj.com/article38/gghipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、定制網(wǎng)站做網(wǎng)站、企業(yè)網(wǎng)站制作全網(wǎng)營銷推廣、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
欧美一区二区三区精美| 欧美亚洲另类激情另类的| 国产区一区二区三在线播放| 国产精品日韩av一区二区| 国产精品高清呻吟久久久| 内射极品美女在线观看| 亚洲综合日韩丝袜人妻| 好狼色欧美激情国产区| 啊啊啊用力好大视频| 91精品国产色综合久久不| 一欧美一区二区三区| 中文字幕不卡一区在线| 四虎永久精品国产毛片| 日韩丰满少妇在线观看| 欧美国产激情一区二区| 国产综合亚洲欧美日韩在线| 国产亚洲一区二区三区日韩| 日本欧美三级高潮受不了| 日韩中字在线一区二区| 国产精品国产三级专区| 亚洲综合日韩精品国产av| 亚洲欧美日韩不卡一区二区| av熟女乱一区二区三区| 日韩av黄色大片在线播看| 视频精品一区二区在线观看| 日韩成年人高清精品不卡一区二区 | av蜜臀一区二区三区| 日韩一区精品视频一区二区| 国内成人午夜激情视频| 97在线观看免费播放| 日韩人妻中文字幕乱码一区| 亚洲熟妇av乱码在线观看| 亚洲三区久久婷婷激情| 97在线观看视频在线观看| 天堂av影片在线观看| 国产成人国产三级国产精品| 91精品人妻一区二区三区| 美女一区二区三区日本美女在线观看| 熟女人妻av五十路六十路| 亚洲人午夜射精精品日韩| 欧美国产日韩在线一区二区三区|