|   Traefik 
                            是什么? 
                           Traefik 是一个为了让部署微服务更加便捷而诞生的现代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证书) 
                           高可用集群模式 
                           清爽的界面 
                           Traefik 拥有一个基于AngularJS编写的简单网站界面。 
                            
                             
                          Rancher-Traefik部署 
                           为了保证 Traefik 资源不受其他服务的影响,我们可以通过指定专机专用的方式,让 
                            Traefik 服务独自运行在某一台节点上。 
                          PS:专机专用功能,目前只适用于 Rancher 自动调度容器。 
                          一、运行 Rancher Server 并添加 Rancher-Agent 
                            专机专用节点 
                           通过http://rancher-server:8080 地址登录 
                            WEB; 
                           功能定位到 基础设施|主机,并点击添加主机,复制生成的命令来添加一台 
                            Rancher-Agent; 
                           主机成功添加后,页面定位到 基础设施|主机 ,找到需要的主机,在主机视图的右上角,点击三个点的省略号,再点击编辑; 
                           在主机编辑视图中,分别在标签与容器标签需求中添加 traefik_lb=true; 
                           PS:第一个标签:Traefik 服务在启动时会检查主机是否有 traefik_lb=true 
                            标签,只有带有这个标签的主机才能安装Traefik服务。  
                           第二个容器标签需求:这个就是专机专用的功能,通过设置 traefik_lb=true 
                            这个标签,只有带有 traefik_lb=true 标签的服务才能运行到这个节点上。 
                            
                            
                          二、进入商店(Catalog)搜索并安装Traefik应用 
                           标签设置好之后,进入商店搜索Traefik并安装; 
                           
                              
                           
                          点击查看详情进入配置界面,这里我们把 http port 端口改为80 
                            ,其他配置保持默认。最后点击启动; 
                            
                          进入 应用|用户 视图,可以看到Traefik应用已正常运行; 
                            
                          进入 基础架构|主机 视图下,可以看到Traefik运行在指定主机上; 
                          三、运行 demo 应用 
                           新建一个名为 demo 的空应用栈; 
                           在 demo 中添加一个名为 nginx 的服务,把数量设置为4, 
                             
                          在标签设置中,添加如下几条标签: 
                             
                          traefik.enable = true 可以理解为是否把此服务注册到traefik的一个开关; 
                            traefik.domain = test.local 一个适用于所有服务访问的主域名,可以设置多个用逗号隔开;traefik.alias 
                            = nginx 服务别名,可以理解为主域名下的二级域名,可以设置多个用逗号隔开;traefik.port 
                            = 80 告诉traefik 服务暴露的端口号; 
                           Traefik默认强制开启健康检查,所有只有健康的服务才会被注册到Traefik上。在健康检查中配置健康检查 
                             
                          服务正常运行 
                             
                          四、demo-nginx 服务配置 
                           Traefik有服务管理控制台,默认端口8000。 
                             
                          在控制台中可以看到访问地址:nginx.demo.test.local,nginx.test.local,以前当前后端 
                            健康server 数目 
                           测试访问:nginx.demo.test.local,nginx.test.local 
                             
                          
                             
                             |