Kubernetes证书没有为证书管理器创建



我无法使用证书管理器创建证书。

我遵循本指南https://docs.cert-manager.io/en/latest/getting-started/install/kubernetes.html

这项工作:

antonswanevelder$ kubectl get pods --namespace cert-manager
NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-69b4f77ffc-4296b              1/1     Running   0          9m5s
cert-manager-cainjector-576978ffc8-2mxz6   1/1     Running   0          2d13h
cert-manager-webhook-c67fbc858-sdjff       1/1     Running   1          2d13h

但是运行测试

kubectl describe certificate -n cert-manager-test

什么也不会产生。

有什么想法可以解决这个问题吗?

重新创建K8s集群,并按照上面证书管理器页面中的步骤进行操作。我犯的一个主要错误是在Ingress中引用了错误的命名空间。

请注意使用cert-manager.io/cluster-requestor

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
# add an annotation indicating the issuer to use.
cert-manager.io/cluster-issuer: letsencrypt-prod

还请注意,在使用cert-manager的v11时,apiVersion和solver略有变化。

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
# You must replace this email address with your own.
# Let's Encrypt will use this to contact you about expiring
# certificates, and issues related to your account.
email: youremail@domain.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
# Secret resource used to store the account's private key.
name: letsencrypt-prod
# Add a single challenge solver, HTTP01 using nginx
solvers:
- http01:
ingress:
class: nginx

最后,值得注意的是,Lets-encrypt需要指向一个有效的页面才能提供证书。请确保您的域指向正确,并且页面位于该域的根目录下。戳上有一个速率限制器,所以最好与临时颁发者合作,直到证书送达。如果您运行以下代码,它应该显示CertificateCreated。

kubectl describe ingress

相关内容

  • 没有找到相关文章

最新更新