如何解决存储新私钥后证书请求似乎卡住了
我一直在尝试使用 LetsEncrypt 和 CertManager 在 Kubernetes 上推出我们的环境来配置证书。
但是,似乎无论出于何种原因,都无法提供证书。 我一直在经历这些步骤 https://cert-manager.io/docs/faq/troubleshooting/ 但我被困在“在临时秘密资源“xxx”中存储了新的私钥”,我找不到任何故障排除步骤来解决这个问题。
The events list from my past few attempts to reset the certificate
我的 ingress.yaml 如下所示:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: myname-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
tls:
- hosts:
- app.mydomain.io
secretName: tls-secret
rules:
- host: app.mydomain.io
http:
paths:
- backend:
serviceName: mydomain-identity-v1
servicePort: 80
path: /login(/|$)(.*)
- backend:
serviceName: mydomain-account-v1
servicePort: 80
path: /account(/|$)(.*)
使用以下集群颁发者:
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: ***
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: nginx
我已按照以下指南安装所有内容: https://docs.microsoft.com/en-us/azure/aks/ingress-static-ip#create-a-ca-cluster-issuer
它在我们的开发环境中工作得很好,但是对于这个新环境,它似乎不想发出实际的 CertificateRequest。 ClusterIssuer 资源显示为就绪
有没有人遇到过这种情况,或者知道该怎么做?到目前为止,我的搜索一无所获。
解决方法
我在这个环境中使用的 cert-manager 比我在另一个环境中使用的版本更新。我的 kubernetes 版本和 cert-manager 版本之间一定有一些不匹配导致了这个问题。通过恢复到相同的证书管理器版本,问题已自行解决。
,我已经在Azure AKS集群中成功完成了这个实现,你可以按照这个方法-
- 从 here 安装 cert-manager
- 然后按照此 stackoverflow post 中的这些步骤操作
创建一个 clusterIssuer 或者您也可以创建单个颁发者,一旦您将主机名修补到 ingress,那么该命名空间中的 tls-certificate 将在 acme-challenge 验证后由 Jetstack 自动生成
请确保将负载均衡器 nginx/traefik 等的 IP 映射到 DNS/主机名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。