4

我正在使用 helm 将 taefik 部署到我的 kubernetes 集群。这是我目前所拥有的:

helm upgrade --install load-balancer --wait --set ssl.enabled=true,ssl.enforced=true,acme.enabled=true,acme.email=an@email.com stable/traefik

我正在尝试配置letsencrypt。根据此文档- 您将域添加到 .toml 文件的底部。

查看 helm chart的代码,没有提供这样的配置。

有没有其他方法可以做到这一点,还是我需要分叉图表来创建我自己的 .toml 文件变体?

4

2 回答 2

6

原来这是鸡和蛋的问题,描述在这里

对于 helm chart,如果acme.enabled设置为true,则 Treafik 将自动为 Kubernetes 入口规则中配置的域生成并提供证书。这就是yaml 文件中这一onHostRule = true 行的用途(上面引用过)。

要将 Traefik 与 Let's Encrypt 一起使用,我们必须在 DNS 服务器中创建一条 A 记录,该记录指向负载均衡器的 IP 地址。在 Traefik 启动并运行之前,我们无法做到这一点。但是,此配置需要在Traefik 启动之前存在。

唯一的解决方案(在这个阶段)是在 A 记录配置传播后杀死第一个 Pod。

于 2017-06-16T14:33:15.177 回答
2

请注意,stable/traefik 图表现在支持 ACME DNS-01 协议。通过使用 DNS,它避免了先有鸡还是先有蛋的问题。

参见:https ://github.com/kubernetes/charts/tree/master/stable/traefik#example-aws-route-53

于 2018-04-11T14:51:47.253 回答