2 Traefik使用方式
1、acme自动申请通配符证书*.dev.rencaiyoujia.com和*.test.rencaiyoujia.com;生产环境使用自购证书 *.rencaiyoujia.com
2、默认全部开启https访问,http自动跳转https。有特例:只允许http访问。
参考文档:https://doc.traefik.io/traefik/routing/providers/kubernetes-ingress/#routing-configuration
启用ingress服务发现
--providers.kubernetesingress
--entrypoints.websecure.http.tls #可选,对websecure这个entrypoint上的所有ingress启用tls
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true" #可选,对该ingress启用tls
说明:
1、基于ingress的方式,也是可以使用crd或file方式中定义的middlewares。例如添加注解:
traefik.ingress.kubernetes.io/router.middlewares: auth@file,prefix@kubernetescrd,cb@file
2、nginx-ingress controller是根据ingress.spec.tls来判断是否启用tls,而与nginx不同的是,traefik不会使用,需要明确指定是否启用。启用方式如上面的针对entrypoint全局启用和针对ingress启用。
3、基于第2条,如果从nginx转到traefik,不启用tls,直接是兼容的;如果要启用tls,则需要添加traefik.ingress.kubernetes.io/router.tls: “true"注解即可(或添加静态配置
--entrypoints.websecure.http.tls)。
kubectl create secret generic traefik-alidns-secret --from-literal=ALICLOUD_ACCESS_KEY=LTAI4FzFCet4Crbr5EP7JWso --from-literal=ALICLOUD_SECRET_KEY=gTmAhSip0BXl59kwkqZ31IlhpkG3I6 --from-literal=ALICLOUD_REGION_ID=cn-beijing -n kube-system