cert-manager: Operation cannot be fulfilled
Hello
Kubernetes version: 1.18.8
I have uninstalled cert-manager 0.15.2 completely and installed 1.0.1 After trying to issue certificate, the cert is not becomes ready, the logs from cert-manager pod print this:
E0917 15:07:19.412626 1 controller.go:158] cert-manager/controller/certificaterequests-issuer-selfsigned "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificaterequests.cert-manager.io \"domain-co-il-wildcard-clusterissuer-tls-zskjr\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager/domain-co-il-wildcard-clusterissuer-tls-zskjr"
E0917 15:07:19.611836 1 controller.go:158] cert-manager/controller/certificaterequests-issuer-ca "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificaterequests.cert-manager.io \"domain-co-il-wildcard-clusterissuer-tls-zskjr\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager/domain-co-il-wildcard-clusterissuer-tls-zskjr"
E0917 15:07:19.813780 1 controller.go:158] cert-manager/controller/certificaterequests-issuer-venafi "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificaterequests.cert-manager.io \"domain-co-il-wildcard-clusterissuer-tls-zskjr\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager/domain-co-il-wildcard-clusterissuer-tls-zskjr"
E0917 15:07:20.021320 1 controller.go:158] cert-manager/controller/certificaterequests-issuer-acme "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificaterequests.cert-manager.io \"domain-co-il-wildcard-clusterissuer-tls-zskjr\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager/domain-co-il-wildcard-clusterissuer-tls-zskjr"
This is part of the events:
18m Normal Issuing certificate/domain-co-il-wildcard-clusterissuer-tls Issuing certificate as Secret does not contain a private key
18m Normal Generated certificate/domain-co-il-wildcard-clusterissuer-tls Stored new private key in temporary Secret resource "domain-co-il-wildcard-clusterissuer-tls-2f72v"
18m Normal Requested certificate/domain-co-il-wildcard-clusterissuer-tls Created new CertificateRequest resource "domain-co-il-wildcard-clusterissuer-tls-9xtgw"
This is the manifasts:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-wildcard-clusterissuer
namespace: cert-manager
spec:
acme:
email: kfirfer@gmail.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: secret-issuer-account-key-nuc-25
solvers:
- dns01:
cloudDNS:
project: "xxxx-268209"
serviceAccountSecretRef:
name: clouddns-dns01-solver-svc-acct
key: key.json
selector:
dnsNames:
- 'domain.co.il'
- '*.domain.co.il'
- 'domain2.com'
- '*.domain2.com'
apiVersion: v1
kind: Secret
metadata:
name: domain-co-il-wildcard-clusterissuer-tls
namespace: cert-manager
annotations:
kubed.appscode.com/sync: ""
type: kubernetes.io/tls
data:
ca.crt: ''
tls.crt: ''
tls.key: ''
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: domain-co-il-wildcard-clusterissuer-tls
namespace: cert-manager
spec:
commonName: "*.domain.co.il"
secretName: domain-co-il-wildcard-clusterissuer-tls
renewBefore: 360h # 15d
dnsNames:
- domain.co.il
- "*.domain.co.il"
issuerRef:
name: letsencrypt-wildcard-clusterissuer
kind: ClusterIssuer
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 4
- Comments: 22 (6 by maintainers)
Commits related to this issue
- Remove cert-manager. https://github.com/jetstack/cert-manager/issues/3293 Currently facing this bug testing wiping away cert-manager then reinstalling sametime as Kubed. Signed-off-by: anthr76 <hel... — committed to anthr76/infra by anthr76 4 years ago
- Remove cert-manager. https://github.com/jetstack/cert-manager/issues/3293 Currently facing this bug testing wiping away cert-manager then reinstalling sametime as Kubed. Signed-off-by: anthr76 <hel... — committed to anthr76/infra by anthr76 4 years ago
Same issue exists in V1.1.0
v1.1.0 is released now
Reopened
@kaypeter87 surfacing of rate limit issues is improved in v1.1
It appears my certificate having the issue has successfully been issued. I can safely say that it took 48 hours to issue and it appears to be a rate limiting problem. What worries me is that there were no indication of rate limiting in the debug logs and other new certificates were being issued during this problem. I cannot say, as there are many variables, if let’s encrypt or cert-manager was failing. I do know that a certificate was failing to be issued when there were no indications of rate limiting.
I appear to be seeing the same behavior as @kaypeter87 above, and thought that I had a workaround to offer. Instead, this behavior quickly resurfaced and appears to be intermittent?
Due to the intermittent nature of this problem I am starting to suspect that it stems from rate-limiting, but can’t offer any concrete evidence. letsdebug.net reports no problems with any subdomain + DNS-01, and I’m not sure how else to debug for rate-limiting.
As a side note: does letsdebug.net just always say “OK” no matter what?? I have yet to see it report a problem…
Verbose details can be found below
I have a fresh Kubernetes 1.19.2 cluster with a small-scale application running in the default namespace. I have also installed
cert-manager
in a namespace with the same name. I’ve configured an ACMEDNS + LetsEncrypt ClusterIssuer that appears to be working in the default namespace for issuing wildcard certs via LetsEncrypt DNS-01.In another namespace, I have a similar ingress rule set up that seems to be stuck:
The Certificate / CertificateRequest are stuck with an Order that has no events and no Challenge resources are created:
No Challenge resource appears to be created, and the Order resource does not appear to have any events associated with it:
As a test, I added the root domain alongside the wildcard in the TLS section and that initially appeared to fix things but the behavior came back: