溫馨提示×

溫馨提示×

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

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

使用DNS的服務發(fā)現(xiàn)及內(nèi)部負載均衡

發(fā)布時間:2020-04-17 14:12:57 來源:億速云 閱讀:443 作者:三月 欄目:云計算

下文給大家?guī)硎褂?a title="DNS" target="_blank" href="http://www.kemok4.com/dns/">DNS的服務發(fā)現(xiàn)及內(nèi)部負載均衡,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。

1.使用DNS進行服務

docker引擎據(jù)由內(nèi)部的DNS云服務器,可以為用戶定義的網(wǎng)橋(network)、覆蓋網(wǎng)絡igressoverla(ovelay)、macvlan網(wǎng)絡中主機上的所有容器提供名稱解析。

每個容器內(nèi)都有一個NDS解析器,將dns查詢結果轉(zhuǎn)發(fā)到docker引擎(docker守護程序),該引擎充當dns服務器。docker引擎檢查dns查詢是屬于容器還是屬于集群service的請求,如果是容器

則docker引擎會查找與容器名稱相匹配的ip,或者service在其鍵值存儲中查找并將ip或者service虛擬ip返回給請求者。

服務發(fā)現(xiàn)是網(wǎng)絡范圍的,這意味著只有位于同一網(wǎng)絡上的容器或任務才能使用嵌入式DNS功能。如果容器或者service不在同一網(wǎng)絡中,則docker引擎會將dns查詢轉(zhuǎn)發(fā)到默認DNS服務器解析。

使用DNS的服務發(fā)現(xiàn)及內(nèi)部負載均衡

2.內(nèi)部負載均衡

在docker swarm集群創(chuàng)建服務時,會自動為他們分配一個虛擬ip,該虛擬IP是服務網(wǎng)絡的一部分。解析服務名稱時返回vip。通過覆蓋網(wǎng)絡(overlay)自動將vip的流量發(fā)送到服務的所有的健康任務中。

docker負責路由并在健康的服務中平均分配流量。

創(chuàng)建overlay網(wǎng)絡

docker network create  -d overlay  mylay

查看swarm創(chuàng)建服務時分配的vip

docker service inspect  服務名  | grep  Addr

DNS循環(huán)(DNS RR)負載平衡是服務的另一個負載平衡選項(配置為--endpoint-mode)。

在DNS RR模式下,不會為每個服務創(chuàng)建VIP。Docker DNS服務器以循環(huán)方式將服務名稱解析為單個容器IP

3.swarm集群路由網(wǎng)


路由網(wǎng)的原理:集群中所有的節(jié)點都對外公布tcp/udp端口,接收來自外部的請求連接流量,之后通過內(nèi)核的IPVS負載均衡器將ingress覆蓋網(wǎng)絡上的流量重定向到健康的服務副本。

路由網(wǎng)是由docker engine 1.12中引入的,它組合ipvs和iptable創(chuàng)建了一個集群范圍內(nèi)的傳輸層L4負載均衡。它允許集群中所有節(jié)點接收已發(fā)布端口上的請求連接。

當任何集群節(jié)點接收到tcp/upd端口service的流量的,就會使用服務創(chuàng)建時指定的覆蓋網(wǎng)絡將請求流量分發(fā)到服務的vip igress。

啟動服務后,您可以為應用程序創(chuàng)建外部DNS記錄(對外公布端口 --public 80:80),并將其映射到任何或所有Docker swarm節(jié)點。

4.swarm第7層路由(互鎖代理)

群集模式路由網(wǎng)絡非常適合傳輸層路由。它使用服務的已發(fā)布端口路由到服務。互鎖是一種新功能,可在應用層(L7)上啟用服務發(fā)現(xiàn)。

此第7層路由通過添加應用層功能(例如檢查HTTP標頭)擴展到群集模式路由網(wǎng)格?;ユi和群集模式路由網(wǎng)絡一起使用,以提供靈活和強大的服務交付。

看了以上關于使用DNS的服務發(fā)現(xiàn)及內(nèi)部負載均衡,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術工程師解答的,億速云技術工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。

 

向AI問一下細節(jié)

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

AI