/kind bug
What happened:
After creating ClusterIssuer, looking at the logs shows:
error: no kind "ClusterIssuer" is registered for version "certmanager.k8s.io/v1alpha1"
Environment:
kubectl version): 1.9.2It sounds like you've not properly installed the CRDs for cert-manager. How did you install it? via Helm?
@munnerz Yes, here the command i used, am i missing something:
helm install --name cert-manager -f cert-manager-values.yaml --namespace=default stable/cert-manager --set rbac.create=false
Can you provide the output of kubectl get customresourcedefinitions and helm list?
kubectl get customresourcedefinitions:
certificates.certmanager.k8s.io 7h
clusterissuers.certmanager.k8s.io 7h
issuers.certmanager.k8s.io 7h
helm list
NAME REVISION UPDATED STATUS CHART NAMESPACE
cert-manager 1 Tue Jun 5 18:27:39 2018 DEPLOYED cert-manager-v0.3.1 default
nginx-ingress 1 Sat Jun 2 23:09:48 2018 DEPLOYED nginx-ingress-0.20.1 default
And can you provide the full logs from cert-manager? Have those error messages stopped being printed now?
Sometimes this message can be printed when cert-manager is running before the CRD has been installed (i.e. when it first starts).
Yes, the messages are printed now, i tried to reinstall it, but i always get the same issue, here are the logs from cert-manager:
I0606 05:39:27.877587 1 controller.go:177] certificates controller: syncing item 'default/ff-sample-crt'
I0606 05:39:27.877894 1 sync.go:65] Issuer letsencrypt-staging not ready
E0606 05:39:27.877960 1 controller.go:186] certificates controller: Re-queuing item "default/ff-sample-crt" due to error processing: Issuer letsencrypt-staging not
ready
I0606 05:40:27.878183 1 controller.go:177] certificates controller: syncing item 'default/ff-sample-crt'
I0606 05:40:27.878284 1 sync.go:65] Issuer letsencrypt-staging not ready
E0606 05:40:27.878498 1 controller.go:186] certificates controller: Re-queuing item "default/ff-sample-crt" due to error processing: Issuer letsencrypt-staging not
ready
I0606 05:41:27.878659 1 controller.go:177] certificates controller: syncing item 'default/ff-sample-crt'
I0606 05:41:27.878712 1 sync.go:65] Issuer letsencrypt-staging not ready
E0606 05:41:27.878768 1 controller.go:186] certificates controller: Re-queuing item "default/ff-sample-crt" due to error processing: Issuer letsencrypt-staging not
ready
I0606 05:42:27.878956 1 controller.go:177] certificates controller: syncing item 'default/ff-sample-crt'
I0606 05:42:27.878998 1 sync.go:65] Issuer letsencrypt-staging not ready
E0606 05:42:27.879032 1 controller.go:186] certificates controller: Re-queuing item "default/ff-sample-crt" due to error processing: Issuer letsencrypt-staging not
ready
Did you ever end up figuring this out by chance?
@ivalexa @munnerz get the same issue, any path to follow to resolve it? Thanks
@nicolls1 @sneko @ivalexa I have had this issue as well with the letsencrypt-staging issuer. The fix was to update the ACME server URL in your issuer:
https://acme-staging-v02.api.letsencrypt.org/directory
instead of
https://acme-staging.api.letsencrypt.org/directory
Thanks @KimGressens ! It solves the error message I had.
Note that for prod Issuer you need to specify:
https://acme-v02.api.letsencrypt.org/directory
How could I install the resource certmanager.k8s.io/v1alpha1 without using Helm?
@duzy please keep issues on topic; but to answer your question, see "static manifests" in https://cert-manager.readthedocs.io/en/latest/getting-started/2-installing.html
@djmitche Yes, thank you. I'm working with the static manifests and fighting against other issues, I appreciated your link.
Hi there,
I've been facing the same problem here, have tried to change the url but it had no effect in my scenario:
apiVersion: certmananger.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: [email protected]
privateKeySecretRef:
name: letsencrypt-prod
dns01:
providers:
- name: cf-dns
cloudflare:
email: [email protected]
apiKeySecretRef:
name: cloudflare-dns
key: api-key
I'm trying to follow the steps in this tutorial, but I'm still getting the message:
error: unable to recognize "issuer.yaml": no matches for kind "ClusterIssuer" in version "certmananger.k8s.io/v1alpha1"
Any of u had a different outcome?
certmananger -> certmanager?
I'm facing the same issue and changing the server URL did not help me. I'm following this guide but got stuck on creating the ClusterIssuer.
error: unable to recognize "staging_issuer.yaml": no matches for kind "ClusterIssuer" in version "certmanager.k8s.io/v1alpha1"
@markhorrocks what version of cert manager are you using?
I have the same issue which is on version cert-manager-v0.5.0 . I have updated the acme url aswell.
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
email:
http01: {}
privateKeySecretRef:
name: letsencrypt-staging
server: https://acme-staging-v02.api.letsencrypt.org/directory
My issue was upgrading cert manager from 0.3 to 0.5. Deleting and installing cert manager again solved the issue.
https://github.com/jetstack/cert-manager/issues/1134
@markhorrocks did you try apiVersion: cert-manager.io/v1alpha2?
@markhorrocks did you try
apiVersion: cert-manager.io/v1alpha2?
This worked cert-manager v0.11.0
Same issue,
reading this post, I figured
certmanager.k8s.io/v1alpha1 -> cert-manager.io/v1alpha2
and
https://acme-staging.api.letsencrypt.org/directory -> https://acme-staging-v02.api.letsencrypt.org/directory
thank you
more details here: https://cert-manager.io/docs/installation/upgrading/upgrading-0.10-0.11/
now.. I am getting this validation error
error: error validating "letsencrypt-clusterissuer-staging.yaml": error validating data: ValidationError(ClusterIssuer.spec.acme): unknown field "http01" in io.cert-manager.v1alpha2.ClusterIssuer.spec.acme; if you choose to ignore these errors, turn validation off with --validate=false
removed the http01, seems to work but not sure about the consequences. Getting off topic. I will stop here.
update: found the solution here https://cert-manager.io/docs/configuration/acme/
Most helpful comment
certmananger -> certmanager?