V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mokeyjay
V2EX  ›  Kubernetes

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

  •  
  •   mokeyjay · 2023-04-04 14:26:21 +08:00 · 1134 次点击
    这是一个创建于 598 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一个 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 方式验证、签发证书

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

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

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

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

    https://cert-manager.io/docs/configuration/acme/dns01/#webhook
    mokeyjay
        3
    mokeyjay  
    OP
       2023-04-04 15:09:35 +08:00
    @Judoon 有个群友也提了这个方案,感觉可行。到时候我试试,如果不作校验就行
    @BeautifulSoap 感谢,我先试试路径转发方案。不行再看看 webhook
    mokeyjay
        4
    mokeyjay  
    OP
       2023-04-14 19:12:15 +08:00
    @Judoon 方案是可行的,无需 ip 校验
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2777 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.