容器服務kubernetes federation v2實踐五:多集羣流量調度

概述
在federation v2多集羣環境中,經過前面幾篇文章的介紹,咱們能夠很容易的進行服務多集羣部署,考慮到業務部署和容災須要,咱們一般須要調整服務在各個集羣的流量分佈。本文下面簡單介紹如何在阿里雲上進行多集羣流量調度。服務器

環境準備
參考容器服務kubernetes federation v2實踐一:基於External-DNS的多集羣Ingress DNS實踐 進行兩個聯邦集羣的join,完成External-DNS、FederatedDeployment、FederatedService、FederatedIngress和IngressDNSRecord的部署,域名解析詳情以下:dom

kubectl get ingress -n test-namespace --context cluster1
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 39.97.196.33 80 107m測試

kubectl get ingress -n test-namespace --context cluster2
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 39.96.244.3 80 107m阿里雲

dig +short @dns7.hichina.com ingress-example.example-domain.club
39.97.196.33
39.96.244.3
注意【ingress-example.example-domain.club】爲測試域名,請注意替換成本身在阿里雲上購買的域名。spa

按流量配比分流3d

在阿里雲【雲解析DNS/域名解析/權重配置】中,經過配置測試域名解析權重進行流量調整,能夠經過下面的腳本進行簡單的驗證dns解析結果:code

DOMAIN=$1
COUNT=$2blog

for i in seq 1 ${COUNT}
dodns

dig +short @dns7.hichina.com ${DOMAIN} >> result.txt

done
經過上述腳本驗證1000次域名解析,驗證結果以下:圖片

圖片描述
能夠看出dns解析結果和配置的權重基本上仍是一致的,說明咱們能夠經過在阿里雲的雲解析上配置各個集羣的流量配比。

按用戶所在地分流
爲了爲用戶提供更好更快的服務,咱們但願用戶能夠就近訪問咱們的服務,以下圖所示,咱們但願華東用戶訪問咱們Cluster1的服務,華北用戶訪問Cluster2的服務。

在阿里雲上,咱們能夠經過【雲解析DNS/全局流量管理】來進行面向用戶來源的流量管理。
第一步:在【雲解析DNS/全局流量管理】上建立實例,而後完成相關配置。

第二步:在第一步建立的實例中建立兩個地址池。

第三步:配置訪問策略,配置華東用戶訪問華東地址池,華北用戶訪問華北地址池。

第四步:在【雲解析DNS/域名解析】的測試域名中添加記錄,類型爲CNAME,值爲第一步中生成的CNAME值。

第五步:分別在北京和杭州找一臺服務器,執行下面腳本:

DOMAIN=$1
COUNT=$2

for i in seq 1 ${COUNT}
do

nslookup ${DOMAIN} | grep -v "#" | awk '/Address/{print $2}' >> result.txt

done
其中執行次數爲1000次,獲得下面結果:

圖片描述
能夠看到,全局流量管理能夠根據用戶地域解析到不通集羣的LB上,固然全局流量管理還有不少其餘功能,例如地址池的健康檢查等,你們能夠親自測試使用。

總結本文經過DNS解析權重和全局流量管理相關配置,調整多個集羣上面的流量,很好的知足不一樣的業務場景。

相關文章
相關標籤/搜索