我有一个k3s集群,我正试图配置它以从我们加密中获得SSL证书。我遵循了许多指南,我认为我真的很接近管理它,但问题是Kubernetes中的Challenge对象报告此错误:
Waiting for HTTP-01 challenge propagation: failed to perform self check GET request 'http://devstore.XXXXXXX.com/.well-known/acme-challenge/kVVHaQaaGU7kbYqnt8v7LZGaQvWs54OHEe2WwI_MOgk': Get "http://devstore.XXXXXXX.com/.well-known/acme-challenge/kVVHaQaaGU7kbYqnt8v7LZGaQvWs54OHEe2WwI_MOgk": dial tcp: lookup devstore.XXXXXXX.com on 10.43.0.10:53: no such host
似乎在某种程度上,证书管理器试图在内部解决我的公共DNS名称,并且没有设法做到这一点,所以挑战不工作。你能帮我一下吗?我谷歌了一下,但我找不到解决方案。
谢谢
您想要证书的域的DNS记录可能不存在。如果确实如此,并且您正在使用分割水平DNS配置(劫持本地网络中的。com域),请确保它指向您的公共ip(例如您的家庭网关)
[编辑]
另外,您必须在网络中找出到达集群的LE,因此将80/443端口转发到集群的ip。
你可以这样做,因为k3s会在负载均衡器中默认使用集群流量策略
这可能由多种不同的原因引起。如果您发现这是一个暂时的问题(或者如果您之前错误地配置了coredns),您可能需要仔细检查coredns的configmap(在kube-system
命名空间中)。
。您可以删除/减少缓存,或指向不同的DNS名称服务器。
这是问题的描述,其中切换到谷歌DNS +缓存删除帮助解决了这个问题。
谢谢DarthHTTP,我终于成功了!问题是,正如我在评论中提到的,防火墙没有正确地从私有网络端使用公共IP路由HTTP请求。我解决了配置一个内部DNS服务器,它用K3S节点的私有IP地址解析名称,并使用该服务器作为K3S节点的DNS服务器。最终,我的HTTP web应用程序获得了一个有效的让我们加密证书!