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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理

發布時間:2023/10/11 综合教程 100 老码农
生活随笔 收集整理的這篇文章主要介紹了 idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇我們了解了如何控制入口流量,本文主要介紹在使用Istio時如何訪問集群外服務,即對出口流量的管理。

默認安裝的Istio是不能直接對集群外部服務進行訪問的,如果需要將外部服務暴露給 Istio 集群中的客戶端,目前有兩種方案:

1. 配置ServiceEntry

2. 配置global.proxy.includeIPRanges

配置serviceEntry訪問外部服務

ServiceEntry用于將額外的條目添加到Istio內部維護的服務注冊表中,從而讓網格中自動發現的服務能夠訪問和路由到這些手動加入的服務。

ServiceEntry 描述了服務的屬性(DNS 名稱、VIP、端口、協議以及端點)。這類服務可能是網格外的 API,或者是處于網格內部但卻不存在于平臺的服務注冊表中的條目(例如需要和 Kubernetes 服務溝通的一組虛擬機服務)。

配置ServiceEntry 也很簡單,允許從網格內部訪問HTTP,HTTPS,Mongo,TCP等協議的外部服務。下面分別列舉了對外部TCP服務和HTTP服務的訪問配置。具體的ServiceEntry的配置參數定義可參考:

https://istio.io/docs/reference/config/istio.networking.v1alpha3/#ServiceEntry

外部TCP服務訪問配置示例:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: mysql
spec:
  hosts:  
  - 192.168.0.245  
  ports:  
  - number: 3306    
    name: tcp    
    protocol: TCP

外部HTTP服務訪問配置示例:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: foo-ext
spec:
  hosts:  
  - foo.com  
  ports:  
  - number: 80    
    name: http    
    protocol: HTTP

雖然社區推薦的方式是設置ServiceEntry來訪問外部服務,但如果集群外需要訪問的服務很多,一個個配置起來就很麻煩,也不方便管理。

配置global.proxy.includeIPRanges

如果使用HELM安裝Istio, 可以在 Helm 中設置 global.proxy.includeIPRanges 變量為集群clusterIP的范圍,然后進行安裝。

如果要對已經安裝好的Istio修改配置,需要修改名為 istio-sidecar-injector 的 Configmap的“-i”的取值為集群clusterIP,稍后重啟所有服務的pod,重新注入sidecar。然后你會看到重啟后pod中的initContainers的-i參數值已經變為集群clusterIP的范圍。

這種方式使得只有集群內的IP通過sidecar,對外部服務的調用越過了 Istio sidecar proxy,讓服務可以直接訪問到對應的外部地址。

相比配置ServiceEntry,這種方式簡單對 Istio 進行全局配置,就可以直接訪問所有外部服務。但缺點是不能治理集群外服務的訪問流量,比如不能對集群外中間件服務進行熔斷限流;而且需要用戶了解云供應商特定的知識和配置。

目前社區還沒有完美的解決方案,可參考討論:

https://groups.google.com/forum/#!searchin/istio-dev/serviceentry%7Csort:date/istio-dev/0RCt7Jqrcg8/7Ylrr4TABQAJ

總結

以上是生活随笔為你收集整理的idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。