Rancher部署Tr?fik實現微服務的快速發現
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編寫的簡單網站界面。
以上內容轉自:https://traefik.cn
Rancher-Tr?fik部署
為了保證 Tr?fik 資源不受其他服務的影響,我們可以通過指定專機專用的方式,讓 Tr?fik 服務獨自運行在某一台節點上。
PS:專機專用功能,目前只適用於 Rancher 自動調度容器。
一、運行 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 標籤的服務才能運行到這個節點上。
二、進入商店(Catalog)搜索並安裝
Tr?fik
應用
標籤設置好之後,進入商店搜索Tr?fik並安裝;
進入 應用用戶 視圖,可以看到Tr?fik應用已正常運行;
進入 基礎架構主機 視圖下,可以看到Tr?fik運行在指定主機上;
三、運行 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上。在健康檢查中配置健康檢查
服務正常運行
四、demo-nginx 服務配置
Tr?fik有服務管理控制台,默認埠8000。


TAG:RancherLabs |
※用Pytorch 實現的 Capsule Network
※SpringCloud實現Eureka集群配置
※大新聞!Facebook 開源了 Python 實現的物體檢測研究平台 Detectron
※用 greenlet 實現 Python 中的並發
※NET Core微服務之基於Ocelot+IdentityServer實現統一驗證與授權
※在Spark 上實現 TensorFlow 的庫——Sparkflow
※Thrift RPC實戰 Spring集成Thrift,實現服務端和客戶端代理
※Python yield與實現
※python 實現redis訂閱發布功能
※流式處理:使用 Apache Kafka的Streams API 實現 Rabobank 的實時財務告警
※連發Science、Nature Physics:谷歌展示量子霸權實現藍圖
※通過 Docker 實現在 Linux 容器中運行 Microsoft SQL Server 資料庫
※實現高速點擊的 Android Monkey 自動化工具 fastmonkey-代號 Maxim
※Prometheus+Grafana實現監控系統
※SpringCloud如何實現Eureka集群、HA機制?
※使用Jira software+Structure實現大規模跨團隊項目管理
※微軟開發MRTouch技術在HoloLens上實現觸摸交互
※SAP Cloud for Customer Extensibility的設計與實現
※SpaceTime Enterprises 用VR實現你的太空夢
※硬體黑客工具Packet Squirrel之二:實現openVPN遠程訪問