91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rancher中怎么利用Traefik構建主動負載均衡

發布時間:2021-08-12 16:44:11 來源:億速云 閱讀:271 作者:Leah 欄目:云計算

Rancher中怎么利用Traefik構建主動負載均衡,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

元數據服務

在Rancher中,我們有一個杰出的內置服務發現系統被稱為Rancher的元數據服務。在Rancher的元數據服務中,我們可以從本機服務或者從其他堆棧或服務獲取信息。Rancher的元數據里有最新的有關什么服務在系統上運行并且位于何處信息。

想為你的服務生成動態配置文件,你需要與Rancher的元數據服務通訊。要做到這一點,可以使用confd與具體的模板。

想了解更多細節,我建議你讀Bill Maxwell的這篇文章:http://rancher.com/introducing-rancher-metadata-service-for-docker/。

負載均衡

Rancher提供了一個內建的負載均衡服務。它是一個容器化的HAProxy,而且它在對外發布你的服務端口非常有用。

這個負載均衡可以在兩種不同的模式下工作。這意味著,它可以在兩種不同的OSI層工作,特別是4層和7層。可是,這意味著什么呢?

第4層

-------------------------------------------------------------------------------------------------------------

您可以發布和提供TCP端口的訪問。你使用這種有點原始的模式給你的服務后端發包,但無法修改端口。在這種模式下,你不能共享端口。這意味著你需要為每個服務發布不同的端口。

 

第7層

-------------------------------------------------------------------------------------------------------------

在這一層,你是在應用層面工作,而且只能發布HTTP(S)端口。在這種模式下,負載均衡可以查看和修改HTTP數據包。你可以檢查,添加或修改HTTP頭文件。在這種模式下,你可以共享相同的發布端口給不同的服務。顯然,負載均衡必須知道如何區分傳入數據包,以便將它們轉發給正確的服務。要做到這一點,你需要定義一個用于檢查傳入HTTP數據包的HTTP頭文件過濾器。一旦匹配成功,請求將會發送給正確的服務。

在這兩種模式下,負載均衡都是以“被動模式”工作。這意味著,一旦你部署一個新的服務,你必須修改負載均衡配置并重新添加服務。顯然,如果你從負載均衡中刪除一個服務,它的配置也會在負載均衡配置中被刪除。

 

主動負載均衡

為了給用戶提供一個更好的選擇,我們已經創建了一個基于Docker標簽和Rancher元數據服務的“主動模式”負載均衡。負載均衡掃描Rancher元數據,并能自行配置,并為已配置特定標簽的服務提供接入。

要獲得這個功能,我們使用Traefik。Traefik是一個可編程的開源負載均衡,用golang編寫。它可與Zookeeper,etcd,Consul等不同的服務發現系統集成。我們做了與Rancher元數據的初步集成。Traefik有一個真正意義上的零宕機時間重載,并實現定義斷路器規則的可能性。要獲取更多信息,請訪問https://traefik.io/。

要使用Traefik,從社區Catalog中選擇它并啟動。使用默認參數,Traefik將在標簽traefik_lb=true的所有主機上運行。暴露用于HTTP服務的主機端口8080以及作為Traefik管理的端口8000。它每60秒刷新配置一次。讓你部署服務時覆蓋所有參數成為可能。

 

一旦服務被部署,您可以訪問管理界面http://host-address:9000

您需要在服務端定義以下標簽來使您的的服務自動暴露給Traefik:

traefik.enable=<true|false>

traefik.domain=<domain name to route rule>

traefik.port=<port to expose throught traefik>

在你的服務中定義一個健康檢查是強制性的要求,因為只有健康的后端才能添加到Traefik。如果你在你的服務中定義traefik.enable=true的標簽,但是服務不具有健康檢查,前端雖然可以被添加到Traefik,而后端只會為空列表。

測試

我們已經寫了一個基本的Web測試服務,使其能夠檢查Traefik服務,并以快速的方式進行測試。這項服務在8080端口公開Web服務。

你可以導入以下docker-compose.yml和rancher-compose.yml來創建一個新的Stack。

docker-compose.yml

web-test:

log_driver:''

labels:

traefik.domain:local

traefik.port:'8080'

traefik.enable:'true'

io.rancher.container.hostname_override:container_name

tty:true

log_opt:{}

image:rawmind/web-test

rancher-compose.yml

web-test:

scale:3

health_check:

port:8080

interval:2000

initializing_timeout:60000

unhealthy_threshold:3

strategy:recreate

response_timeout:2000

request_line:GET"/""HTTP/1.0"

healthy_threshold:2

關于Rancher中怎么利用Traefik構建主動負載均衡問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浑源县| 九江县| 巴林右旗| 洱源县| 永丰县| 宁城县| 呼图壁县| 松江区| 壶关县| 穆棱市| 临漳县| 松潘县| 万源市| 通河县| 韩城市| 秭归县| 疏勒县| 庆阳市| 城口县| 临夏县| 卓资县| 栖霞市| 林州市| 仲巴县| 油尖旺区| 大连市| 包头市| 四平市| 广昌县| 龙口市| 鲁山县| 永泰县| 靖安县| 沧州市| 定边县| 德保县| 正阳县| 克山县| 平乐县| 法库县| 冕宁县|