7.2 Traefik ingress controller
Traefik 基础配置
entrypoint: 这是流量的入口,即是http还是https
frontend: 这相当于nginx配置中的location, server_name等,即当流量还在nginx上,没有proxy_pass之前, traefik拦截请求后,会转发给FrontEnd。前端定义EntryPoint映射到BackEnd的路由规则集,字段包括Host, Path, Headers 等,匹配请求后,默认通过加权轮询负载算法路由到一个可用的BackEnd,然后进入指定的微服务。
backend: 这相当于nginx中,proxy_pass后接的配置
logLevel = "INFO" #traefik的日志等级
InsecureSkipVerify = true
defaultEntryPoints = ["http","https"] #默认对外暴露的entrypoints
[entryPoints]
[entryPoints.traefik] #traefik自身使用
address = ":28080"
[entryPoints.traefik.auth] #开启认证
# headerField = "X-WebAuth-User"
[entryPoints.traefik.auth.basic]
# removeHeader = true
users = ["admin:$apr1$mrDaKviI$B5AOi0GbfF/zRplMg6Nj0/",]
[entryPoints.metrics] #监控读取metrics
address = ":9001"
[entryPoints.http] #对外报漏的http端口
address = ":20080"
compress = true
[entryPoints.http.redirect] #开启http到https的强制跳转
regex = "^http://(.*)"
replacement = "https://$1"
[entryPoints.https] #对外报漏的https端口
address = ":20443"
compress = true
[entryPoints.https.tls] #https相关证书配置
[[entryPoints.https.tls.certificates]]
CertFile = "/ssl/tls.crt"
KeyFile = "/ssl/tls.key"
[kubernetes]
labelselector = "traffic-type=external" #traefik会读取存在traffic-type=external的ingress配置
[kubernetes.ingressEndpoint]
hostname = "traefik"
[accessLog]
format = "json"
[traefikLog]
format = "json"
[api] #
entryPoint = "traefik" #设置entrypoint的名字
dashboard = true #开启traefik web UI
[metrics]
[metrics.prometheus]
entryPoint = "metrics"
buckets = [0.1,0.3,1.2,5.0]
[ping]
entryPoint = "traefik"
最后更新于
这有帮助吗?