要将 SSL/TLS 证书转换为 Kubernetes Traefik 可以使用的 secret,可以按照以下步骤操作:
- 创建一个 kubernetes secret 对象,并指定类型为
kubernetes.io/tls
:
kubectl create secret tls [secret name] --key [cert name]/privkey.pem --cert [cert name]/fullchain.pem
其中,[secret name]
是你想要创建的 secret 名称,[cert name]
是你证书所在的目录名。
- 将创建好的 secret 对象添加到 traefik ingress 的配置文件中。例如,在 traefik v2 中,你可以通过 annotations 来指定 TLS 配置:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.tls.certresolver: default
spec:
tls:
- hosts:
- example.com
secretName: [secret name]
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: my-service
servicePort: 80
其中,[secret name]
是上一步中创建的 secret 对象名称。
这样,在 traefik ingress 中就会使用该 secret 对象中存储的 SSL/TLS 证书进行 HTTPS 连接了。