TLSStore
Traefik 将证书分组保存在证书存储中。
TLSStore 是 Traefik TLS 存储的 CRD 实现。
创建 TLSStore 对象前,需要将 Traefik Kubernetes CRD 应用到 Kubernetes 集群。
默认 TLS 存储
Traefik 目前仅使用名为 "default" 的 TLS 存储。该默认 TLSStore 应位于 Traefik 能够发现的命名空间中。由于 IngressRoute 和 IngressRouteTCP 对象默认使用它,因此无需显式引用。这意味着不能在不同 Kubernetes 命名空间中创建两个同名 default 存储。因此,就 TLS 存储而言,唯一有意义的变更是在需要时配置默认 TLSStore。提供者选项 defaultTLSResourcesNamespace 限制了可以定义这一集群级存储的命名空间。
配置示例¶
apiVersion: traefik.io/v1alpha1
kind: TLSStore
metadata:
name: default
spec:
defaultCertificate:
secretName: supersecret配置选项¶
| 字段 | 说明 | 必填 |
|---|---|---|
certificates[n].secretName |
Kubernetes Secret 列表,每项保存一对需要加入存储的密钥和证书。 | 否 |
defaultCertificate.secretName |
没有 SNI 或没有匹配域名的连接所使用的 Kubernetes Secret 名称。未提供默认证书时,Traefik 使用自行生成的证书。如果设置了 defaultGeneratedCert,请勿使用此选项。 |
否 |
defaultGeneratedCert.resolver |
用于生成默认证书的 ACME 解析器名称。 如果设置了 defaultCertificate,请勿使用此选项。 |
否 |
defaultGeneratedCert.domain.main |
用于生成默认证书的主域名。 如果设置了 defaultCertificate,请勿使用此选项。 |
否 |
defaultGeneratedCert.domain.sans |
用于生成默认证书的主体备用名称列表。 如果设置了 defaultCertificate,请勿使用此选项。 |
否 |
DefaultCertificate 与 DefaultGeneratedCert
同时设置 defaultCertificate 和 defaultGeneratedCert 时,将提供 defaultCertificate.secretName 中的 TLS 证书,不生成 ACME 默认证书。