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

/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

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 10
  • Comments: 20 (3 by maintainers)

Most upvoted comments

certmananger -> certmanager?

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/

@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

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: daniel@idealcoders.com
    privateKeySecretRef:
      name: letsencrypt-prod
    dns01:
      providers:
      - name: cf-dns
        cloudflare:
          email: myemail@cloudflareaccount.com
          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?

How could I install the resource certmanager.k8s.io/v1alpha1 without using Helm?

It sounds like you’ve not properly installed the CRDs for cert-manager. How did you install it? via Helm?

@markhorrocks did you try apiVersion: cert-manager.io/v1alpha2?

This worked cert-manager v0.11.0

@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

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