traefik使用

traefik(https://traefik.io/) 是一款开源的反向代理与负载均衡工具。非常适合与微服务系统结合,可以实现自动化动态配置。目前支持 Docker, Swarm, Mesos/Marathon, Mesos, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API 等等后端模型。

优点:

单文件部署,与系统无关,同时也提供小尺寸 Docker 镜像。

支持 Docker/Etcd 后端,天然连接我们的微服务集群。

内置 Web UI,管理相对方便。

自动配置 ACME(Let’s Encrypt) 证书功能。

性能尚可,我们也没有到压榨 LB 性能的阶段,易用性更重要。

Restful API 支持。

支持后端健康状态检查,根据状态自动配置。

支持动态加载配置文件和 graceful 重启。

支持 WebSocket 和 HTTP/2。

dockerswarm 中的使用:

创建网络

docker network create --driver=overlay traefik_net

部署traefik服务

docker service create \

--name traefik \

--constraint=node.role==manager \

--publish 80:80 --publish 8080:8080 \

--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \

--network traefik_net \

traefik \

--docker \

--docker.swarmmode \

--docker.domain=traefik.dockerpaas.com \

--docker.watch \

--web

然后就可以访问界面了


traefik使用_第1张图片

部署应用服务测试

docker service create --name whoami --label traefik.port=8080 --constraint=node.role==manager  --network traefik_net --label traefik.backend.loadbalancer.sticky=true emilevauge/whoami


traefik使用_第2张图片

上图Host:后面即为访问路径

只能在内网访问,外网的话要设置hosts 文件,或者配置nginx转发

你可能感兴趣的:(traefik使用)