上一篇文章我们实现了 Traefik 2.0 暴露 Redis(TCP) 服务,我们了解到 Traefik 中使用 TCP 路由配置需要 SNI,而 SNI 又是依赖 TLS 的,所以需要配置证书才能正常访问 TCP 服务,其实 Traefik 除了支持我们手动配置 TLS 证书之外,还支持自动生成 TLS 证书,本文就来为大家介绍如何在 Traefik 2.0 中配置自动化 HTTPS 服务。
同样的,前提条件还是需要提前在 Kubernetes 集群中安装好 Traefik 2.0 服务,可以参考之前我们提供的安装资源清单 https://github.com/cnych/kubeapp/tree/master/traefik2。里面包含4个文件:IngressRoute.yaml、crd.yaml、rbac.yaml、traefik.yaml,部分文件我们需要做一些变更。
我们这里就以 Traefik 的 WebUI 为例,之前我们开启了 KubernetesCRD 这个 Provider,通过创建一个 IngressRoute 对象来开启对 WebUI 的访问,资源清单如下所示:(IngressRoute.yaml)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: traefik-webui
namespace: kube-system
spec:
entryPoints:
- web
routes:
- match: Host(`traefik.qikqiak.com`)
kind: Rule
services:
- name: traefik
port: 8080