kubernetes - 使用 Helm 使用 Traefik 配置 Lets Encrypt

标签 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 文件的底部。

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

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

最佳答案

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

对于 Helm chart ,如果 acme.enabled设置为 true ,然后 Treafik 将自动为 Kubernetes 入口规则中配置的域生成和提供证书。这就是onHostRule = true的目的line在 yaml 文件中(引用上文)。

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

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

关于kubernetes - 使用 Helm 使用 Traefik 配置 Lets Encrypt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44480405/

相关文章:

ssl - 在 HAProxy 后面的 Nginx 集群中更新 SSL 证书的推荐方法是什么?

docker - Helm 图表使用来自证书管理器的 secret

yaml - 如何使用索引引用 helm 数组参数

kubernetes - 如何为命名空间保留某些工作节点

http - 带有ClusterIp的Kubernetes服务不会将请求传递到某些端点

elasticsearch - Minikube-无法从 Elasticsearch 获得任何结果,如果它使用现有索引

kubernetes - Helm : Error: no available release name found

docker - Kubernetes 部署填充了错误的持久卷

ssl - 让我们与 Jitsi Meet 一起为站点加密证书

cron - 如何安排Let's Encrypt certbot在cron中自动续订我的证书?