存储新私钥后证书请求似乎卡住了
Certificate request seems stuck after storing new private key
我一直在尝试使用带有 CertManager 的 LetsEncrypt 来在 Kubernetes 上部署我们的环境来提供证书。
但是,似乎无法提供证书,无论出于何种原因。
我一直在经历这些步骤
https://cert-manager.io/docs/faq/troubleshooting/ 但我卡在了 'Stored new private key in temporary Secret Resource "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: /
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 资源显示为就绪
有没有人遇到过这种情况,或者知道该怎么办?到目前为止,我的搜索一无所获。
我已经在Azure AKS集群中成功实现了这个,你可以按照这个方式进行-
- 从 here
安装证书管理器
- 然后从此
开始执行以下步骤
创建一个 clusterIssuer 或者你也可以创建单独的 issuer,一旦你将主机名修补为 ingress,那么在 acme-challenge 验证之后 Jetstack 将自动生成该命名空间中的 tls 证书
请确保将负载均衡器 nginx/traefik 等的 IP 映射到 DNS/hostname
我在此环境中使用的 cert-manager 版本比我在另一个环境中使用的版本更新。我的 kubernetes 版本和导致问题的 cert-manager 版本之间肯定存在一些不匹配。通过恢复到相同的证书管理器版本,问题已自行解决。
我一直在尝试使用带有 CertManager 的 LetsEncrypt 来在 Kubernetes 上部署我们的环境来提供证书。
但是,似乎无法提供证书,无论出于何种原因。 我一直在经历这些步骤 https://cert-manager.io/docs/faq/troubleshooting/ 但我卡在了 'Stored new private key in temporary Secret Resource "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: /
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 资源显示为就绪
有没有人遇到过这种情况,或者知道该怎么办?到目前为止,我的搜索一无所获。
我已经在Azure AKS集群中成功实现了这个,你可以按照这个方式进行-
- 从 here 安装证书管理器
- 然后从此
创建一个 clusterIssuer 或者你也可以创建单独的 issuer,一旦你将主机名修补为 ingress,那么在 acme-challenge 验证之后 Jetstack 将自动生成该命名空间中的 tls 证书
请确保将负载均衡器 nginx/traefik 等的 IP 映射到 DNS/hostname
我在此环境中使用的 cert-manager 版本比我在另一个环境中使用的版本更新。我的 kubernetes 版本和导致问题的 cert-manager 版本之间肯定存在一些不匹配。通过恢复到相同的证书管理器版本,问题已自行解决。