Cert-manager: error: no kind "ClusterIssuer" is registered for version "certmanager.k8s.io/v1alpha1

Created on 5 Jun 2018  路  20Comments  路  Source: jetstack/cert-manager

/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:

  • Kubernetes version (use kubectl version): 1.9.2
  • Cloud provider or hardware configuration**: Azure AKS
  • Install tools: cert-manager-v0.3.1
kinbug

Most helpful comment

certmananger -> certmanager?

All 20 comments

It 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/

Was this page helpful?
0 / 5 - 0 ratings