Is this a BUG REPORT or FEATURE REQUEST?:
Uncomment only one, leave it on its own line:
/kind bug
What happened:
I'm using an Azure AKS cluster and followed this tutorial here: https://blog.n1analytics.com/free-automated-tls-certificates-on-k8s/
Installed stable/nginx-ingress and stable/cert-manager via Helm to my kube-system namespace, RBAC disabled. Created a staging issuer, then a test certificate. When I create the test certificate against the staging issuer, I receive the following from kubectl describe certificate test-todo-aks-cluster-com:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ErrorIssuerNotReady 1m (x5 over 3m) cert-manager-controller Issuer letsencrypt-staging not ready
What you expected to happen:
I expect the certificate to be issued
How to reproduce it (as minimally and precisely as possible):
Following the tutorial above, AKS cluster, up to creating a staging certificate
Anything else we need to know?:
Environment:
kubectl version):Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T10:09:24Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.6", GitCommit:"9f8ebd171479bec0ada837d7ee641dec2f8c6dd1", GitTreeState:"clean", BuildDate:"2018-03-21T15:13:31Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Update: I went into the logs (kubectl logs deployment/cert-manager-cert-manager cert-manager --namespace kube-system -f) and am seeing the following on repeat:
I0509 21:24:47.083419 1 sync.go:40] Error initializing issuer: 504 : <HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>
An error occurred while processing your request.<p>
Reference #97.c9fd4317.1525901087.6b426b
</BODY></HTML>
Getting an error 504, which is gateway timeout. I can hit my domain, so I know the static IP, DNS and ingress controller are all working -- just an insecure connection when I open the page. I do still get the 404.
This issue appears to only occur with the ACME staging URL -- production works. Perhaps I misunderstood how the staging issuer works, but the error I was receiving (Issuer letsencrypt-staging not ready) is not clear to me.
Which version of cert-manager are you using? If you are using the latest alpha then changing your issuer to use ACME v2 staging URL (https://community.letsencrypt.org/t/staging-endpoint-for-acme-v2/49605) might help. At least it fixed my almost identical issue.
That ACME staging server was unavailable for ~24h due to planned maintenance. It should work today - I'm going to close this issue, but re-open if I am wrong and you still experience this issue!
/close
I am using AKS to create a SSL cert with lets encrypt. I installed cert-manager using helm.
I created a CA cluster issuer:
Shawns-Personal-MacBook-Pro:~ shawnvarughese$ kubectl describe ClusterIssuer
Name: letsencrypt-prod
Namespace:
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"certmanager.k8s.io/v1alpha1","kind":"ClusterIssuer","metadata":{"annotations":{},"name":"letsencrypt-prod","namespace":""},"spec":{"acme...
API Version: certmanager.k8s.io/v1alpha1
Kind: ClusterIssuer
Metadata:
Creation Timestamp: 2018-12-09T19:35:56Z
Generation: 1
Resource Version: 890789
Self Link: /apis/certmanager.k8s.io/v1alpha1/clusterissuers/letsencrypt-prod
UID: a5bba453-fbe9-11e8-9108-0ea4bd565112
Spec:
Acme:
Email: [email protected]
Http 01:
Private Key Secret Ref:
Name: letsencrypt-prod
Server: https://acme-v02.api.letsencrypt.org/directory
Events: <none>
Created a certificate object:
Shawns-Personal-MacBook-Pro:~ shawnvarughese$ kubectl describe certificates
Name: tls-secret
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"certmanager.k8s.io/v1alpha1","kind":"Certificate","metadata":{"annotations":{},"name":"tls-secret","namespace":"default"},"spec":{"acme"...
API Version: certmanager.k8s.io/v1alpha1
Kind: Certificate
Metadata:
Creation Timestamp: 2018-12-10T17:09:05Z
Generation: 1
Resource Version: 890853
Self Link: /apis/certmanager.k8s.io/v1alpha1/namespaces/default/certificates/tls-secret
UID: 4ccd87c3-fc9e-11e8-9108-0ea4bd565112
Spec:
Acme:
Config:
Domains:
mydomain.com
Http 01:
Ingress Class: nginx
Dns Names:
mydomain.com
Issuer Ref:
Kind: ClusterIssuer
Name: letsencrypt-prod
Secret Name: tls-secret
Events: <none>
Created Ingress:
Shawns-Personal-MacBook-Pro:~ shawnvarughese$ kubectl describe Ingress
Name: my-ingress
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
TLS:
tls-secret terminates mydomain.com
Rules:
Host Path Backends
---- ---- --------
mydomain.com
/ web:8080 (<none>)
Annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: true
nginx.ingress.kubernetes.io/rewrite-target: /
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"certmanager.k8s.io/cluster-issuer":"letsencrypt-prod","kubernetes.io/ingress.class":"nginx","kubernetes.io/tls-acme":"true","nginx.ingress.kubernetes.io/rewrite-target":"/"},"name":"my-ingress","namespace":"default"},"spec":{"rules":[{"host":"mydomain.com","http":{"paths":[{"backend":{"serviceName":"web","servicePort":8080},"path":"/"}]}}],"tls":[{"hosts":["mydomain.com"],"secretName":"tls-secret"}]}}
Events: <none>
As you can see the events for the Certificate is none so its not even creating the order. Not sure why it would not even create the order or even throw a error.
Most helpful comment
Which version of cert-manager are you using? If you are using the latest alpha then changing your issuer to use ACME v2 staging URL (https://community.letsencrypt.org/t/staging-endpoint-for-acme-v2/49605) might help. At least it fixed my almost identical issue.