AKS 入口的 letsencrypt 证书请求失败

letsencrypt cert request failing for AKS ingress

我正在尝试根据 the instructions here 为新的 AKS 部署设置一个带有 TLS 的入口和一个自动配置的证书。

我最初配置了所有这些但未能获得分配给 LB 的静态 IP 地址,因为我使用了一个较旧的脚本来创建错误 SKU 的 IP 地址。修复 IP 地址后,我尝试使用生产服务器重新创建集群颁发者、入口和证书,但没有成功。我在以下 kubectl 命令的顺序中看到的错误:

kubectl describe order ao-tls-secret-12341234-12341234

Reason: Failed to finalize Order: 400 urn:ietf:params:acme:error:malformed: Error finalizing order :: certificate public key must be different than account key

我尝试切换到 letsencrypt 登台服务器并立即收到了证书。切换回生产服务器,又挂了。

如错误所述,您不应该对 Let's Encrypt 帐户私钥(issuer.spec.acme.privateKeySecretRef 引用的私钥)和证书的实际证书(ingress.spec.tls[].secretName).

通常,您会将您的帐户私钥秘密命名为更像 letsencrypt-staging-private-key 的名称,并将您的入口证书命名为类似于您现在所拥有的名称(例如 vs-portal-tls-secret) .

Issuer 私钥用于在 ACME 服务器上识别您的 ACME 帐户,与用于服务的私钥无关。

https://github.com/jetstack/cert-manager/issues/1387