cert-manager无法创建Secret证书存储异常求助
排查与解决cert-manager HTTP-01挑战404及证书签发失败问题
核心问题定位
当前症状指向HTTP-01挑战路由失效,导致cert-manager无法完成域名验证,进而无法生成并存储最终证书。以下是针对性排查与修复步骤:
1. 核对cert-manager与Traefik的IngressClass匹配
- 检查Issuer/ClusterIssuer的HTTP-01 solver配置,确保指定的IngressClass与Traefik使用的一致:
apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-prod spec: acme: # ...其他配置 solvers: - http01: ingress: class: traefik # 此处需与Traefik的IngressClass名称完全匹配 - 验证Traefik的IngressClass状态:
若未显式指定IngressClass,需确认Traefik已配置默认IngressClass,且cert-manager solver中对应配置正确。kubectl get ingressclass
2. 检查临时挑战Ingress的有效性
cert-manager会为每个验证请求生成临时Ingress,查看其配置与状态:
kubectl get ingress -n cert-manager kubectl describe ingress <挑战Ingress名称> -n cert-manager
- 确认
spec.rules中包含/.well-known/acme-challenge/<token>路径,且后端指向正确的挑战Pod Service。 - 查看Traefik日志或控制台,确认该Ingress的路由规则已被加载。
3. 验证挑战Pod的响应能力
- 检查挑战Pod是否正常运行:
kubectl get pods -n cert-manager -l app=cert-manager,component=challenges - 用集群内测试Pod直接访问挑战Service,确认返回正确的验证内容:
若返回404,查看挑战组件日志定位问题:kubectl run -it --rm test-pod --image=busybox:wget wget http://<挑战Service名称>.cert-manager.svc.cluster.local/.well-known/acme-challenge/<token>kubectl logs -n cert-manager -l app=cert-manager,component=challenges
4. 排查Traefik的路由拦截规则
- 若Traefik全局配置了强制HTTPS重定向,需确保
/.well-known/acme-challenge/路径被排除,避免HTTP请求被强制重定向到HTTPS导致验证失败。 - 检查目标域名的主Ingress是否拦截了
/.well-known/acme-challenge/路径,需保证挑战Ingress的优先级更高,或主Ingress不对该路径做特殊处理。
5. 集群网络与端口验证
- 升级Digital Ocean集群后,确认节点防火墙允许80端口的入站流量(HTTP-01挑战依赖80端口)。
- 检查集群网络插件(如Calico、Flannel)状态,确保Pod与Service之间通信正常。
6. 版本兼容性与重置尝试
- 确认cert-manager 1.9.1与当前Kubernetes集群版本兼容(参考官方版本支持矩阵)。
- 若升级后存在资源残留,尝试重新部署cert-manager:
kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
快速修复尝试
- 删除pending状态的CertificateRequest和Certificate,触发重新签发流程:
kubectl delete certificaterequest <CR名称> kubectl delete certificate <证书名称> - 临时禁用目标域名主Ingress的TLS配置,待证书签发完成后再重新启用。
内容的提问来源于stack exchange,提问作者DNRN
相关产品推荐
相关产品推荐

