证书管理器因等待 dns-01 挑战传播而失败:无法确定权威名称服务器
cert manager is failing with Waiting for dns-01 challenge propagation: Could not determine authoritative nameservers
我使用以下命令在 aks-engine 上创建了证书管理器
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml
我的证书规格
发行人规范
我使用 nginx 作为入口,我可以看到 azure dns 区域中的 txt 记录创建了我的 azuredns 服务原则,但不确定名称服务器上的问题是什么
我 运行 遇到了同样的错误...我怀疑这是因为我混合使用了私有和 public Azure DNS 条目并且需要将记录添加到 public 条目以便 letsencrypt 可以看到它,但是,cert-manager 在要求 letsencrypt 执行验证之前检查 TXT 记录是否可见...我 假设 默认值cert-manager查看的DNS记录是私有的,因为那里没有TXT记录,所以卡在这个错误上。
解决方法,如 cert-manager.io 中所述,是使用 extraArgs 覆盖默认 DNS(我正在使用 terraform 和 helm 执行此操作):
resource "helm_release" "cert_manager" {
name = "cert-manager"
repository = "https://charts.jetstack.io"
chart = "cert-manager"
set {
name = "installCRDs"
value = "true"
}
set {
name = "extraArgs"
value = "{--dns01-recursive-nameservers-only,--dns01-recursive-nameservers=8.8.8.8:53\,1.1.1.1:53}"
}
}
我使用以下命令在 aks-engine 上创建了证书管理器 kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml
我的证书规格
发行人规范
我使用 nginx 作为入口,我可以看到 azure dns 区域中的 txt 记录创建了我的 azuredns 服务原则,但不确定名称服务器上的问题是什么
我 运行 遇到了同样的错误...我怀疑这是因为我混合使用了私有和 public Azure DNS 条目并且需要将记录添加到 public 条目以便 letsencrypt 可以看到它,但是,cert-manager 在要求 letsencrypt 执行验证之前检查 TXT 记录是否可见...我 假设 默认值cert-manager查看的DNS记录是私有的,因为那里没有TXT记录,所以卡在这个错误上。
解决方法,如 cert-manager.io 中所述,是使用 extraArgs 覆盖默认 DNS(我正在使用 terraform 和 helm 执行此操作):
resource "helm_release" "cert_manager" {
name = "cert-manager"
repository = "https://charts.jetstack.io"
chart = "cert-manager"
set {
name = "installCRDs"
value = "true"
}
set {
name = "extraArgs"
value = "{--dns01-recursive-nameservers-only,--dns01-recursive-nameservers=8.8.8.8:53\,1.1.1.1:53}"
}
}