Managed Kubernetes service-old - Certificate order pending
... / Certificate order pending
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Certificate order pending

Von
JohannR3
Erstellungsdatum 2023-09-11 19:32:16 (edited on 2024-09-04 10:45:47) in Managed Kubernetes service-old

Bonjour,

J'ai les certificats de mes sous nom de domaine qui ne se renouvellent plus. Cela fonctionnait bien avant.
J'utilise le Public Cloud.

Voici ma config :
Un ingress NGinx :

apiVersion: networking.k8s.io/v1
kind: Ingress


Lorque je fais `kubectl api-versions`

acme.cert-manager.io/v1alpha2
acme.cert-manager.io/v1alpha3
acme.cert-manager.io/v1beta1
cert-manager.io/v1alpha2
cert-manager.io/v1alpha3
cert-manager.io/v1beta1
certificates.k8s.io/v1

J'ai donc monté les versions du ClusterIssuer et Certificate en cert-manager.io/v1alpha3 :

apiVersion: cert-manager.io/v1alpha3
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
labels:
app.kubernetes.io/name: xxxx
app.kubernetes.io/tier: backend
app.kubernetes.io/managed-by: Ops
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: xxxxxx
privateKeySecretRef:
name: letsencrypt-staging
solvers:
- http01:
ingress:
class: nginx

apiVersion: cert-manager.io/v1alpha3
kind: Certificate
metadata:
name: xxxx-certificate
spec:
dnsNames:
- subdomain.xxxxx.fr
commonName: subdomain.xxxxx.fr
issuerRef:
name: letsencrypt-staging
kind: ClusterIssuer
secretName: letsencrypt-staging

J'ai supprimé le ClusterIssuer, Certificate et recréé.

Voici ce que j'ai en :

`kubectl describe CertificateRequest`

Status:
Conditions:
Last Transition Time: 2023-09-11T18:51:59Z
Message: Waiting on certificate issuance from order default/xxxx-certificate-qc49v-811468294: "pending"
Reason: Pending
Status: False
Type: Ready
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal OrderCreated 27m cert-manager Created Order resource default/xxxx-certificate-qc49v-811468294

et `kubectl describe order`

Status:
Authorizations:
Challenges:
Token: xxxxx
Type: http-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/xxx/yyyy
Token: xxx
Type: dns-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/xxx/xxx
Token: xxxx
Type: tls-alpn-01
URL: https://acme-v02.api.letsencrypt.org/acme/chall-v3/xxx/xxx
Identifier: administration.bako-consigne.fr
Initial State: pending
URL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/xxx
Wildcard: false
Finalize URL: https://acme-v02.api.letsencrypt.org/acme/finalize/xxx/xxx
State: pending
URL: https://acme-v02.api.letsencrypt.org/acme/order/xxx/xxx
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 32m cert-manager Created Challenge resource "xxxx-certificate-qc49v-811468294-1698342277" for domain "subdomain.xxxxx.fr"



J'avoue ne pas être un ops, mais développeur back curieux.

Lorsque je clique sur les liens de letsencrypt ci-dessus.
Les statuts sont tous en pending.

Merci pour votre aide. Je ne vois pas d'où vient le souci.

Cordialement,
Johann


3 Antworten ( Latest reply on 2023-09-15 17:43:07 Von
JohannR3
)

Je viens de faire la mise à jour proposée par OVH dans l'interface web.
Le cluster est donc sur la dernière version.

`kubectl api-version`s donne le même résultat.

J'ai essayé d'installer la version `acme.cert-manager.io/v1alpha3`
Mais j'ai ces erreurs :

resource mapping not found for name: "letsencrypt-staging" namespace: "" from "certificate.yml": no matches for kind "ClusterIssuer" in version "acme.cert-manager.io/v1alpha3"
ensure CRDs are installed first
resource mapping not found for name: "bako-admin-certificate" namespace: "" from "certificate.yml": no matches for kind "Certificate" in version "acme.cert-manager.io/v1alpha3"
ensure CRDs are installed first

Quand j'exécute ` kubectl get pods --namespace cert-manager`

NAME READY STATUS RESTARTS AGE
cert-manager-5594c89fff-zxjkm 1/1 Running 0 21m
cert-manager-cainjector-7c9f548988-gvt2v 0/1 CrashLoopBackOff 8 (4m50s ago) 21m
cert-manager-webhook-5b668b8c8f-qn7l9 1/1 Running 0 21m

et

`kubectl logs cert-manager-cainjector-7c9f548988-gvt2v --namespace cert-manager`

I0914 18:51:53.083610 1 start.go:82] starting ca-injector v0.16.0 (revision b14a7f2dfbc16b5a1228173f1a4de8985e66dbf3)
I0914 18:51:54.584336 1 request.go:621] Throttling request took 1.045380625s, request: GET:https://10.3.0.1:443/apis/coordination.k8s.io/v1?timeout=32s
F0914 18:51:55.291422 1 start.go:147] error registering core-only controllers: no matches for kind "MutatingWebhookConfiguration" in version "admissionregistration.k8s.io/v1beta1"

Souci résolu, cela venait de mauvaises versions.

J'ai donc update les versions :
- cluster (1.25.12-0)
- ClusterIssuer (cert-manager.io/v1)
- Certificate (cert-manager.io/v1)
- Cert-manager en v1.13.

**Source** : https://cert-manager.io/docs/installation/supported-releases/#supported-releases


Pour faire ceci, j'ai supprimé ClusterIssuer, Certificate, Cert Manager.
Puis suivi cette documentation pour ré-installer : https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-install-cert-manager?id=kb_article_view&sysparm_article=KB0055094

**Attention au prérequis : Helm v3**

J'ai eu une erreur en installant Cert-manager `Error installing Cert-manager, ServiceAccount cert-manager-cainjector already exist`
=> solution https://github.com/cert-manager/cert-manager/issues/2540#issuecomment-577709983


En espérant que ça aide d'autres personnes.

Tip: si comme moi, vous n'êtes pas ops, certaines erreurs sont d'installer des objets k8s dans de mauvaise namespace, ce qui peut provoquer des conflits. Lors de la phase de suppression, vérifier dans le namespace par défaut.

Antworten sind derzeit für diese Frage deaktiviert.