【问题标题】:How to pass DNS validation for internal cluster domain for a kubernetes cert-manager ACME certificate如何通过 kubernetes cert-manager ACME 证书的内部集群域的 DNS 验证
【发布时间】:2022-01-25 03:13:00
【问题描述】:

我运行一个安装了 cert-manager 的 kubernetes 集群,用于管理 ACME(Let's Encrypt)证书。我在 Route 53 上使用 DNS 域验证,一切正常。

当我尝试为集群内部域颁发证书时出现问题。在这种情况下,域验证未通过,因为验证挑战仅在外部 Route53 区域上呈现,而 cert-manager 正在尝试通过集群内部 DNS 查找域名。

欢迎任何有关如何解决此问题的提示。

【问题讨论】:

  • 内部域的权威 DNS 在哪里?
  • 我猜它在 kubernetes 集群内部,因为我使用的是默认的 kubernetes 设置。好奇是否可以将 kubernetes DNS 配置为“显示”内部域的外部 Route53 记录,以显示在集群内运行的应用程序。
  • ...cluster internal domain - 你的意思是cluster.local
  • 是的,但是我们将其配置为 cluster.domain.com 之类的东西,其中 cluster.domain.com 也由 Route53 管理(对于外部消费者)。
  • 能否附上 yamls(这将有助于重现您的问题)?另外,您使用的是哪个版本的 Kubernetes?您是使用裸机安装还是某些云提供商?

标签: kubernetes cert-manager


【解决方案1】:

假设您不控制集群内部域的公共 DNS,您将无法接收它的 LetsEncrypt 证书。

但是,您可以设置另一个颁发者来授予您此域的证书,例如自签名发行人:https://cert-manager.io/docs/configuration/selfsigned/ 然后将您的证书对象的issuerRef 设置为指向您的 SelfSigned 颁发者:

(...)
  issuerRef:
    name: selfsigned-issuer
    kind: ClusterIssuer
    group: cert-manager.io

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2022-01-16
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多