请教一个 k8s 上 cert-manager 迁移 ssl 证书的问题

2023-04-04 14:26:21 +08:00
 mokeyjay

我有一个 web 服务想要实现容器化,于是在新机器上部署了 k3s 集群( IP 与旧机器不同)
这个服务之前用的是手动签的一年有效期的免费 ssl 证书,想换成基于 cert-manager 自动续期的 let's encrypt 证书

为了尽可能降低不可用的时间,我希望是直接把新环境 ssl 配好之后改域名解析就完事
问题就出在新环境的 ssl 上,cert-manager 支持的两种验证方式 —— http 和 dns。前者行不通因为我希望是配好 ssl 再改解析;后者因为我用的是 dns.he.net ,不在它支持的 dns 列表里,似乎也不行

我有个初步的方案:先把旧证书放到新集群里,确保 https 访问正常,然后改解析,等生效后再将 Ingress 的 tls 配置改为 cert-manager ,让 cert-manager 通过 http 方式验证、签发证书

想问问各位还有没有更好的方案,尽可能降低不可用的时间。谢谢各位

998 次点击
所在节点    Kubernetes
4 条回复
Judoon
2023-04-04 14:51:37 +08:00
到旧机器上的 nginx (或者别的)加个路径解析,把 /.well-known ( le 验证请求时访问的路径)这个路径转发到新 ip ,然后用 http 验证。
这样就可以先申请再该域名指向。

但是我忘了 http 验证是否要求发起请求的 ip 和解析出来的 ip 相同了,如果要求一致那就不行
BeautifulSoap
2023-04-04 15:06:14 +08:00
我觉得 lz 想的方法已经是比较简单了

如果愿意折腾得话倒是还有个方法,用 DNS Webhook ,这个可以自己自定义不支持得 DNS 域名提供商

https://cert-manager.io/docs/configuration/acme/dns01/#webhook
mokeyjay
2023-04-04 15:09:35 +08:00
@Judoon 有个群友也提了这个方案,感觉可行。到时候我试试,如果不作校验就行
@BeautifulSoap 感谢,我先试试路径转发方案。不行再看看 webhook
mokeyjay
2023-04-14 19:12:15 +08:00
@Judoon 方案是可行的,无需 ip 校验

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/929713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX