閱讀925 返回首頁    go 魔獸


簡單路由(支持 HTTP/HTTPS)__服務發現和負載均衡_用戶指南_容器服務-阿裏雲

適用場景

普通且簡單的 7 層協議負載均衡,Web 路由服務,容器集群內服務之間 7 層協議互相訪問的通信代理和負載均衡。

原理

如下圖所示,當您新建一個集群的時候,會默認給這個集群分配一個負載均衡實例。該負載均衡實例會將集群中的所有節點加入作為後端,同時前端會暴露 80 端口,後端所有節點的機器會暴露 9080 端口。容器服務會啟動一個路由應用 acsrouting,即阿裏雲容器服務路由應用(Alibaba Cloud Container Service Routing)。該路由應用隻有一個服務,即路由服務。該服務是全局(global)的,即每個節點(下麵說到的主機和節點都是同一個意思,即 ECS 的 vm 實例)都部署了該服務(或者說鏡像)的一個拷貝,也就是容器。每個節點都由這個容器用來路由 HTTP 服務或者 HTTPS 服務。

如圖所示,HTTP 服務,負載均衡實例的前後端端口的映射為 80:9080,主機與路由容器之間的端口映射為 9080:80,即路由的容器暴露 80 端口,其它用作 Web 服務的容器可以暴露任意的端口。隻要在容器啟動的時候設置主機和容器端口的映射,routing 服務就能獲取到相應的端口進行請求的路由。有關暴露 HTTP 服務的完整示例,參見 通過鏡像創建 Nginx

routing-design

設置方式

通過容器服務管理控製台進行設置

通過 服務 > 變更配置 進行設置

  1. 登錄 容器服務管理控製台

  2. 單擊左側導航欄中的 服務

  3. 選擇所要暴露的服務所在的集群。

  4. 選擇所要暴露的服務(本示例中為 spring-boot)並單擊 變更配置

    服務

  5. 在變更配置頁麵,配置主機和容器端口的映射,如下圖所示。

    主機端口為空,表示隨機暴露一個主機的端口(暴露 HTTP/HTTPS 服務時,您可以不需要知道主機暴露的具體端口是什麼,可以使用 overlay 網絡或者 VPC 網絡來直接訪問容器的端口),容器端口為 8080。您使用 spring-boot 默認暴露 Web 服務的 8080 端口來提供HTTP 服務,使用的協議是 TCP 協議。

    設置

    路由配置通過域名來暴露服務,須標明要暴露的端口,此處為 Web 服務 8080 端口。域名字段隻填寫了域名前綴,如果域名前綴為 XXX,獲得的域名為 XXX.$cluster_id.$region_id.alicontainer.com 供測試使用。此處您獲得的域名為 spring-boot.c0cffb4340aee47ccb26dea062cfb0b2e.cn-beijing.alicontainer.com。您也可以填寫自己的域名,需要添加解析到相應的負載均衡實例 IP。關於配置路由的容器端口和 HTTP 服務的域名的詳細信息,參見 routing 標簽

通過應用的模板編輯器進行設置

  1. 登錄 容器服務管理控製台

  2. 單擊左側導航欄中的 應用

  3. 選擇目標應用所在的集群。

  4. 選擇目標應用(本示例中為 wordpress)並單擊 變更配置

    應用

  5. 在模板編輯器中,添加 routing 標簽,定義相應的域名或者域名前綴。注意升級應用的版本,以及確定是否拉取最新的 Docker 鏡像,最後單擊 確定 更新域名,如下圖所示。

    暴露

通過客戶端工具進行設置

最後更新:2016-12-13 13:56:10

  上一篇:go 服務發現和負載均衡概述__服務發現和負載均衡_用戶指南_容器服務-阿裏雲
  下一篇:go 簡單路由-域名配置__服務發現和負載均衡_用戶指南_容器服務-阿裏雲