我正试图根据此处的说明为新的AKS部署设置一个带有TLS的入口和一个自动提供的证书。
我最初配置了所有这些,但未能获得分配给LB的静态IP地址,因为我使用了一个旧的脚本来创建带有错误SKU的IP地址。在修复了IP地址后,我试图使用生产服务器重新创建集群颁发者、入口和证书,但没有成功。我在以下kubectl命令的顺序中看到的错误:
kubectl describe order ao-tls-secret-12341234-12341234
原因:未能完成订单:400urn:ietf:params:acme:错误:格式错误:完成订单时出错:证书公钥必须与帐户密钥不同
我尝试切换到letsencrypt暂存服务器,并立即收到证书。切换回生产服务器,它又挂起了。
正如错误所说,您不应该对Let's Encrypt帐户私钥(发卡行.spec.acme.privateKeySecretRef引用的私钥(和证书的实际证书(ingress.spec.tls[].secretName(使用相同的secretName。
通常,你会将你的帐户私钥命名为secret,更像是letsencrypt暂存私钥,并将你的入侵证书命名为类似于你现在拥有的证书(例如vs门户tls secret(。
颁发者私钥用于识别您在ACME服务器上的ACME帐户,它与用于服务的私钥无关。
https://github.com/jetstack/cert-manager/issues/1387