配置使用Helm使用Traefik进行加密

时间:2017-06-11 04:36:40

标签: kubernetes lets-encrypt kubernetes-helm traefik

我使用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。根据此documentation - 您将域添加到.toml文件的底部。

查看掌舵chart的代码,没有提供此类配置。

是否有其他方法可以执行此操作,还是需要分叉图表以创建自己的.toml文件变体?

2 个答案:

答案 0 :(得分:3)

原来这是鸡和蛋的问题,描述为here

对于掌舵图,如果acme.enabled设置为true,则Treafik将自动为Kubernetes入口规则中配置的域生成并提供证书。这是yaml文件中onHostRule = true line的目的(上面引用)。

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

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

答案 1 :(得分:1)

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

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