【问题标题】:How can I issue a certificate after I've moved to a new cluster?迁移到新集群后如何颁发证书?
【发布时间】:2019-06-10 20:02:50
【问题描述】:

我在 Azure Kubernetes 服务中设置了一个原型集群,以测试使用 cert-manager 配置 HTTPS 入口的能力。我能够让一切正常运行,现在我已经准备好设置我的生产环境了。

问题是我在原型上使用了我需要的子域名(sub.domain.com),现在我似乎无法让 Let's Encrypt 为生产集群提供证书。

我对 Kubernetes 还是很陌生,我似乎找不到将证书从一个导出或移动到另一个的方法。

更新:

下面提供的解决方案似乎可行,但归结为需要暂停/关闭原型的虚拟机。几分钟后,生产环境就获得了证书。

【问题讨论】:

  • 您不需要移动证书,如果您已正确更新 dns 条目以指向新集群,您应该能够获得新证书。有关您的配置的更多信息会很有用。
  • @Marcus 我试过了,我给了它一个多小时,我不断收到来自浏览器的证书问题。如果我查看正在运行的 Pod,我有一个名为 cm-acme-http-solver 的 Pod,自从我启动集群以来它一直在运行。我猜这是 cert-manager 试图获得证书,但它似乎从未通过。

标签: azure kubernetes azure-aks cert-manager


【解决方案1】:

你可以这样做:

kubectl get secret -o yaml

只需将您的证书密钥复制\粘贴到新集群,或使用 heptio ark 之类的工具进行备份\恢复。

ps。我不知道为什么它不允许您创建新证书,最坏的情况是您需要等待 7 天才能刷新速率限制。

【讨论】:

  • 我想知道是不是因为两者目前都在线,但我不知道 Let's Encrypt 服务程序在它下面是如何工作的。我会尝试复制这个秘密,看看我能得到什么。
  • 我试过了,给了它大约一个小时左右的时间来整理自己。不幸的是,它是我们的开发人员正在使用的一项微服务,所以我很长时间都无法将其关闭。我会尝试在一夜之间进行更改,看看我是否可以通过这种方式解决它。我现在对复制这个秘密有点紧张,因为在让原型集群首先工作的路上,我必须想出很多变通办法。
猜你喜欢
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多