traefik with etcd
用traefik和etcd做一些magical的操作
目标: 通过traefik和etcd, 实现动态服务注册/负载均衡/健康检查(仅讨论http)
假设你已经了解以下概念: 1.反向代理
, 2.etcdv3
, 3.traefik
需要做如下准备: 1.etcd集群
, 2.traefik官方镜像
启动traefik
将traefik静态配置设置为http并默认从etcd中获取配置, 此文件一般放在/etc/traefik下
# filename: traefik.toml
defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.http]
address = ":80"
# Enable Etcd Provider.
[etcd]
endpoint = "192.168.199.208:2379" # 这里写etcd任意节点或etcd负载
# Enable watch Etcd changes.
#
# Optional
# Default: true
#
watch = true # 这里一定要设置为true, 以达到自动注册更新
# Prefix used for KV store.
#
# Optional
# Default: "/traefik"
#
prefix = "/traefik"
# Force to use API V3 (otherwise still use API V2)
#
# Deprecated
#
# Optional
# Default: false
#
useAPIV3 = true
然后用docker-compose启动traefik, 这里的镜像使用官方最新镜像
version: '2'
services: