kubernetes - cert-manager 正在尝试使用 dns-01 而不是 https-01 解析器
问题描述
我正在尝试通过cert-manager
使用 HTTP 质询验证为我的 Kubernetes 集群颁发证书。但是,出于某种原因,挑战订单正在尝试使用dns-01
未配置的验证者。
我试图找出不同的配置,cert-manager
再次删除和安装,但没有任何帮助。它在其他 ACME 客户端上工作。
我正在使用cert-manager
v1.2.0
.
这是我ClusterIssuer
的http-01
求解器:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: clusterissuer-test-acme
#namespace: default
spec:
acme:
server: https://lab03.test.com:8432/acme/directory
# Email address used for ACME registration
email: k8s-security-team@example.org
# Name of a secret used to store the ACME account private key
privateKeySecretRef:
name: issuer-acme-secret
# Enable HTTP01 validations
solvers:
# An empty 'selector' means that this solver matches all domains
- selector: {}
http01:
ingress:
class: public
这是我要颁发的证书:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: cert-lab05-test-com
namespace: default
spec:
secretName: cert--secret-lab05-test-com
renewBefore: 365h # 15d
issuerRef:
name: clusterissuer-test-acme
kind: ClusterIssuer
commonName: lab05.test.com
dnsNames:
- lab05.test.com
我收到以下错误:
Status:
Authorizations:
Challenges:
Token: QHYyjqayGWufzC6kz313UwkUvRillXZWdBgoEVKyfe83w32SXvaSgkxvYJEKUViVM884eQAAAXnDf-lT
Type: dns-01
URL: https://lab03.test.com:8432/acme/authz/yFwhSs9x3y4UcyPxCTXHfsSKhhpD1AAAAXnDf-lT/2
Identifier: lab05.test.com
Initial State: pending
URL: https://lab03.test.com:8432/acme/authz/yFwhSs9x3y4UcyPxCTXHfsSKhhpD1AAAAXnDf-lT
Wildcard: false
Finalize URL: https://lab03.test.com:8432/acme/order/c3a10096-ad3a-4e48-9160-f4d39a617299-7/finalize
State: pending
URL: https://lab03.test.com:8432/acme/order/c3a10096-ad3a-4e48-9160-f4d39a617299-7
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Solver 5m9s cert-manager Failed to determine a valid solver configuration for the set of domains on the Order: no configured challenge solvers can be used for this challenge
我不明白为什么dns-01
应该http-01
根据ClusterIssuer
设置挑战类型。
解决方案
推荐阅读
- node.js - 如何在 webapp 中保持 npm idle-session-timeout 一致?
- ldap - ldap 搜索属性 X 包含多个值的对象
- java - 从二维数组中的所有值填充一维数组
- python - 正则表达式匹配线性系统 ax+by=c
- git - 我可以配置git如何检测合并冲突吗
- php - 如何从字符串中删除 H1 标签和内部内容
- android-studio - Visual Studio 模拟器:如何使用 PC 的键盘输入(硬件)而不是 Android 软键盘
- c - 使用 mmap 映射共享内存大小超过 ftruncate 完成的设置大小
- c# - 使用数字的随机目录生成器,但当我包含字母并且没有错误时不会创建任何内容
- java - 如何在托管在另一台机器上的 Jenkins 上运行 maven 项目(-eclipse-java-并推送到 git-)中的 selenium 测试脚本