Træfik 是什麼?
Træfik 是一個爲了讓部署微服務更加便捷而誕生的現代HTTP反向代理、負載均衡工具。它支持多種後臺 (Rancher、Docker、Swarm、Kubernetes、Marathon、Mesos、Consul、Etcd、Zookeeper、BoltDB、Rest API、file…) 來自動、動態的刷新配置文件,以實現快速地服務發現。前端
特性
- 它很是快
- 無需安裝其餘依賴,經過Go語言編寫的單一可執行文件
- 支持 Rest API
- 多種後臺支持:Rancher、Docker、Swarm、Kubernetes、Marathon、Mesos、Consul、Etcd,而且還會更多
- 後臺監控,能夠監聽後臺變化進而自動化應用新的配置文件設置
- 配置文件熱更新。無需重啓進程
- 正常結束http鏈接
- 後端斷路器
- 輪詢,rebalancer 負載均衡
- Rest Metrics
- 支持最小化 官方 docker 鏡像
- 後臺支持SSL
- 前臺支持SSL(包括SNI)
- 清爽的AngularJS前端頁面
- 支持Websocket
- 支持HTTP/2
- 網絡錯誤重試
- 支持Let’s Encrypt (自動更新HTTPS證書)
- 高可用集羣模式
清爽的界面
Træfik 擁有一個基於AngularJS編寫的簡單網站界面。nginx
以上內容轉自:https://traefik.cndocker
Rancher-Træfik部署
爲了保證 Træfik 資源不受其餘服務的影響,咱們能夠經過指定專機專用的方式,讓 Træfik 服務獨自運行在某一臺節點上。後端
PS:專機專用功能,目前只適用於 Rancher 自動調度容器。網絡
1、運行 Rancher Server 並添加 Rancher-Agent 專機專用節點
- 經過http://rancher-server:8080 地址登陸 WEB;
- 功能定位到 基礎設施|主機,並點擊添加主機,複製生成的命令來添加一臺 Rancher-Agent;
- 主機成功添加後,頁面定位到 基礎設施|主機 ,找到須要的主機,在主機視圖的右上角,點擊三個點的省略號,再點擊編輯;
- 在主機編輯視圖中,分別在標籤與容器標籤需求中添加 træfik_lb=true;
PS:第一個標籤:Træfik 服務在啓動時會檢查主機是否有 træfik_lb=true 標籤,只有帶有這個標籤的主機才能安裝Træfik服務。
第二個容器標籤需求:這個就是專機專用的功能,經過設置 træfik_lb=true 這個標籤,只有帶有 træfik_lb=true 標籤的服務才能運行到這個節點上。架構
2、進入商店(Catalog)搜索並安裝Træfik應用
標籤設置好以後,進入商店搜索Træfik並安裝;負載均衡
點擊查看詳情進入配置界面,這裏咱們把 http port 端口改成80 ,其餘配置保持默認。最後點擊啓動;dom
進入 應用|用戶 視圖,能夠看到Træfik應用已正常運行;socket
進入 基礎架構|主機 視圖下,能夠看到Træfik運行在指定主機上;微服務
3、運行 demo 應用
- 新建一個名爲 demo 的空應用棧;
- 在 demo 中添加一個名爲 nginx 的服務,把數量設置爲4,
- træfik.enable = true 能夠理解爲是否把此服務註冊到træfik的一個開關; træfik.domain = test.local 一個適用於全部服務訪問的主域名,能夠設置多個用逗號隔開;træfik.alias = nginx 服務別名,能夠理解爲主域名下的二級域名,能夠設置多個用逗號隔開;træfik.port = 80 告訴træfik 服務暴露的端口號;
- Træfik默認強制開啓健康檢查,全部只有健康的服務纔會被註冊到Træfik上。在健康檢查中配置健康檢查
4、demo-nginx 服務配置
- 在控制檯中能夠看到訪問地址:nginx.demo.test.local,nginx.test.local,之前當先後端 健康server 數目
- 測試訪問:nginx.demo.test.local,nginx.test.local
9月27日,北京海航萬豪酒店,容器技術大會Container Day 2017即將舉行。
CloudStack之父、海航科技技術總監、華爲PaaS部門部長、恆豐銀行科技部總經理、阿里雲PaaS工程總監、民生保險CIO······均已加入豪華講師套餐!
11家已容器落地企業,15位真·雲計算大咖,13場純·技術演講,結合實戰場景,聚焦落地經驗。免費參會+超高規格,詳細議程及註冊連接請戳