En attente de la délivrance du certificat à partir du statut de la commande "En attente"

Aug 15 2020

Je rencontre un problème de gestion des certificats tls avec cert-manager, je suis la documentation et j'ai ajouté quelques extras avec lesquels travailler en Traefiktant qu'entrée.

Actuellement, j'ai ces YAMLfichiers:

cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging
  namespace: secure-alexguedescom
spec:
  acme:
    email: [email protected]
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      # Secret resource used to store the account's private key.
      name: letsencrypt-staging
    # Add a single challenge solver, HTTP01 using nginx
    solvers:
      - selector: {}
        http01:
          ingress:
            class: traefik-cert-manager

traefik-ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    # add an annotation indicating the issuer to use.
    cert-manager.io/cluster-issuer: letsencrypt-staging
  name: secure-alexguedescom-ingress-http
  namespace: secure-alexguedescom
spec:
  rules:
  - host: secure.alexguedes.com
    http:
      paths:
      - backend:
          serviceName: secure-alexguedescom-nginx
          servicePort: 80
        path: /
  tls: 
  - hosts:
    - secure.alexguedes.com
    secretName: secure-alexguedescom-cert 

cert-staging.yaml

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: secure-alexguedescom-cert
  namespace: secure-alexguedescom
spec:
  commonName: secure.alexguedes.com
  secretName: letsencrypt-staging
  dnsNames:
    - secure.alexguedes.com
  issuerRef:
    name: letsencrypt-staging
    kind: ClusterIssuer

En inspectant les certificats, j'ai ce message d'erreur:

Message: Issuing certificate as Secret does not contain a certificate
Reason: MissingData

Inspecter également les certificaterequestmessages J'ai ce journal:

Status:
  Conditions:
    Last Transition Time:  2020-08-16T00:32:01Z
    Message:               Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: "pending"
    Reason:                Pending
    Status:                False
    Type:                  Ready
Events:
  Type    Reason        Age   From          Message
  ----    ------        ----  ----          -------
  Normal  OrderCreated  11m   cert-manager  Created Order resource secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682
  Normal  OrderPending  11m   cert-manager  Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: ""

Je ne sais pas quelle pièce est erronée, en utilisant Helm v2 avec Tiller et k8s v1.7

Des idées?

Merci d'avance

Réponses

6 Rico Aug 16 2020 at 05:47

Le problème typique avec les certificats letsencrypt est que letsencrypt lui-même ne peut pas valider qui vous êtes et que vous êtes propriétaire du domaine. Dans ce cas alexguedes.com,.

Avec cert-manager, vous pouvez effectuer la validation de domaine et la validation HTTP . Sur la base de la publication, ClusterIssuervous effectuez une validation HTTP. Vous devez donc vous assurer que cela correspond secure.alexguedes.comà une adresse IP disponible dans le monde entier et que le port Traefik 443écoute sur cette adresse IP.