Traefik SPIFFE 文档
SPIFFE
使用 SPIFFE 保护后端连接。
SPIFFE(Secure Production Identity Framework For Everyone,安全生产身份框架)为环境中的每个工作负载提供以特殊制作的 X.509 证书形式的安全身份。
Traefik 能够连接到 Workload API 以获取用于保护与启用 SPIFFE 的后端之间连接的 X509-SVID。
SPIFFE 可能导致 Traefik 阻塞
使用 SPIFFE 时,Traefik 将等待第一个 SVID 传递后再启动。如果 Traefik 在等待 SPIFFE SVID 传递时挂起,请仔细检查它是否已正确注册为 SPIFFE 基础设施中的工作负载。
Workload API
要全局启用 SPIFFE,你需要设置静态配置。workloadAPIAddr 选项指定 SPIFFE Workload API 的地址。
File (YAML)
yaml
## 静态配置
spiffe:
workloadAPIAddr: localhostFile (TOML)
toml
## 静态配置
[spiffe]
workloadAPIAddr = "localhost"CLI
bash
## 静态配置
--spiffe.workloadAPIAddr=localhostServersTransport
启用 SPIFFE 并不表示后端连接会自动使用它。打算使用 SPIFFE 保护的每个 ServersTransport 或 TCPServersTransport 都必须显式启用它(参见 SPIFFE 与 ServersTransport 或 SPIFFE 与 TCPServersTransport)。
配置示例
File (YAML)
yaml
serversTransport:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2
trustDomain: "spiffe://trust-domain"File (TOML)
toml
[serversTransport.spiffe]
ids = [ "spiffe://trust-domain/id1", "spiffe://trust-domain/id2" ]
trustDomain = "spiffe://trust-domain"Kubernetes
yaml
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: mytransport
namespace: default
spec:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2在生产环境使用 Traefik OSS?
如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。