大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Docker教程
Docker安裝
Docker使用
Docker實例

Docker HTTP路由網格

Docker Swarm 內置有四層路由網格的功能,稱為 Swarm 路由網格(Swarm Routing Mesh)。這一功能可以使 Swarm 服務暴露給集群中的所有節點,并且能夠在服務的各個副本之間實現對入站流量的負載均衡。其效果就是可以基本實現流量均衡到達服務的所有副本。

不過,該負載均衡并不作用于應用層。例如,它無法根據 HTTP 頭部數據進行七層路由。為了彌補這一點,UCP 實現了七層路由網格,稱為 HTTP 路由網格(HTTP Routing Mesh,HRM)。這一功能以 Swarm 路由網格為基礎。

HRM 使得多個 Swarm 服務可以發布在同一個 Swarm 端口上,并根據 HTTP 請求頭中的主機名將流量路由到正確的服務中。

下圖展示的是包含兩個服務的簡單示例。

在上圖中,筆記本客戶端向 mustang.internal 的 80 端口發出了一個 HTTP 請求。UCP 集群中有兩個監聽 80 端口的服務。mustang 服務在 80 端口監聽發送給 mustang.internal 主機的流量。camero 服務也監聽 80 端口,不過它被配置為接收到達 camero.internal 的流量。

其實還有第三個稱為 HRM 的服務,用來維護主機名與 UCP 服務之間的映射關系。HRM 會接收所有到達 80 端口的流量,查看 HTTP 請求頭,并決定將其路由到哪個服務。

下面舉例予以說明,并對一些細節進行解釋。

這里就采用上圖所示的例子。過程為首先開啟 HRM 的 80 端口。接著使用 nigelpoulton/dockerbook:mustang 鏡像部署一個名為“mustang”的服務,并為該服務創建一個主機路由,從而所有對“mustang.internal”的請求都會被路由到該服務。

然后使用 nigelpoulton/dockerbook:camero 鏡像創建一個名為“camero”的服務,并為該服務創建一個主機路由,實現該服務與“mustang.internal”的映射。

也可以使用可解析的 DNS 域名,比如“mustang.mycompany.com”,只需要配置好域名解析,使得所有發向這些地址的請求都能夠解析到 UCP 集群前的負載均衡器即可。如果沒有負載均衡器,那么可以將流量指向集群中任一個節點的 IP。下面具體操作一下:

⒈ 登錄到 UCP Web 界面。

⒉ 進入 Admin > Admin Settings > Routing Mesh(路由網格)。

⒊ 勾選 Enable Routing Mesh(啟用路由網格)復選框,確保 HTTP Port 配置為 80。

⒋ 單擊 Save。

這樣就完成了 UCP 集群開啟 HRM 的配置。這一操作,其底層會部署一個名為 ucp-hrm 的系統服務,以及一個名為 ucp-hrm 的覆蓋網絡。

如果查看 ucp-hrm 系統服務,會發現它是以入站模式(Ingress Mode)發布在 80 端口的。也就是說 ucp-hrm 是部署在集群上的,并且會在集群中的所有節點上綁定 80 端口。

因此,到達集群 80 端口的所有流量都會被該服務處理。當 Mustang 和 Camero 服務部署之后,ucp-hrm 服務的主機映射會被更新,它也就知道如何來進行流量的路由。

現在 HRM 已經部署好了,下面部署服務:

⒈ 選擇左側導航欄中的 Services,并單擊 Create Service。

⒉ 按照如下步驟部署“mustang”。

Details/Name: mustang。
Details/Image: nigelpoulton/dockerbook:mustang。
Network/Ports/Publish Port: 單擊 Publish Port + 選項。
Network/Ports/Internal Port: 8080。
Network/Ports/Add Hostname Based Routes: 單擊選項添加一個基于主機名的路由。
Network/Ports/External Scheme: Http://。
Network/Ports/Routing Mesh Host: mustang.internal。
Network/Ports/Networks: 確保服務接入 ucp-hrm 網絡。

⒊ 單擊 Create 來部署服務。

⒋ 部署“camero”服務。

部署該服務的過程與部署“mustang”服務類似,不同之處來自于以下幾點。

Details/Name: camero。
Details/Image: nigelpoulton/dockerbook:camero。
Network/Ports/Routing Mesh Host: camero.internal。

⒌ 單擊 Create。

每個服務的部署會花費幾秒時間,一旦完成,就可以在網頁瀏覽器中進行測試了,輸入 mustang.internal 可以訪問 Mustang 服務(如下圖所示),而 camero.internal 可以訪問 camero 服務。

為了使 mustang.internal 和 camero.internal 能夠被解析到 UCP 集群,需要進行域名解析的配置。解析的地址即為集群前的一個負載均衡器,從而可以將流量轉發到集群的 80 端口。不過如果為測試環境,并沒有負載均衡器,則可以通過編輯 hosts 文件的方式,配置域名到集群中某個節點 IP 的映射。

下面回顧一下其工作過程。

HTTP 路由網格是運行于 Swarm 路由網格傳輸層基礎之上的一個 Docker UCP 特性。具體來說,HRM 增加了基于主機名規則的應用層路由。

啟用 HRM 的時候會部署一個名為 ucp-hrm 的 UCP 系統服務。該服務是 Swarm 范圍的,監聽 80 或 443 端口。這意味著所有到達集群這兩個端口之一的流量都會被發送到 ucp-hrm 服務。而 ucp-hrm 服務會接收、解析,并路由所有到達集群中的流量。

到此已經完成了兩個用戶服務的部署。在部署服務時,需要創建基于主機名的映射,該映射會被加入 ucp-hrm 服務。

“mustang”服務創建的映射,使得它能夠收到所有到達 80 端口的,HTTP 頭指向“mustang.internal”的流量。“camero”服務與之類似,接收所有到達 80 端口的,HTTP 頭指向“camero.internal”的流量。總體來說,ucp-hrm 服務將完成如下兩個任務。

所有發往“mustang.internal”的 80 端口的流量都會被轉發至“mustang”服務。所有發往“camero.internal”的 80 端口的流量都會被轉發至“camero”服務。

全部教程
主站蜘蛛池模板: 毛片免费视频播放 | 色网在线免费观看 | 美国一级毛片aa | 老司机午夜在线 | 午夜a一级毛片一.成 | 香蕉久久夜色精品国产2020 | 妖精视频永久在线入口 | 97人人在线观看 | 一级呦女专区毛片 | 国产黄色自拍视频 | 国内精品久久久久久网站 | 国产dvd毛片在线视频 | 亚洲精品不卡视频 | 手机看片高清国产日韩片 | 久久青草精品一区二区三区 | 国产亚洲精品日韩综合网 | 成人特黄午夜性a一级毛片 成人特级毛片69免费观看 | 久久99国产精品久久欧美 | 手机在线看片不卡中文字幕 | 国产高清在线精品一区a | 色综合网亚洲精品久久久 | 久久青草免费91观看 | 五月婷综合网 | 久久综合99re88久久爱 | 日本边添边爱边做视频 | 色酷综合 | 国产精品国偷自产在线 | 女人zzzooooxxxx | 国产中日韩一区二区三区 | 精品国产高清毛片 | 国产高清一区二区三区四区 | 久久久精品一区二区三区 | 国内精品久久久久久久亚洲 | 天天射天 | 国产色在线 | 亚洲 国产色在线视频 | 在线观看不卡视频 | 久青草视频免费视频播放线路1 | 激情都市久久爱 | 羞羞视频免费网站 | a级日本理论片在线播放 | 日本久久久久亚洲中字幕 |