es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El certificado de Kubernetes cert-manager se ha creado pero no se puede verificar.

Estoy trabajando en un clúster DO Kubernetes e instalé ingress nginx y argocd en él. Todo parece estar bien y puedo usar fácilmente el ingress siempre que accedan a los servicios a través de HTTP.

También instalé certmanager y aquí están los archivos principales relacionados con mi ingress, certificado y emisor:

Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: rancher-demo
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    certmanager.k8s.io/cluster-issuer: "letsencrypt-production"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
  - hosts:
      - {sub-domain}
    secretName: ssl-cert-production
  rules:
  - host: {sub-domain}
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service: 
            name: rancher-demo
            port:
              number: 80

Emisor

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-production
  namespace: default
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: {my-email}
    privateKeySecretRef:
      name: letsencrypt-production
    solvers:
    - selector: {}
      http01:
        ingress:
          class: nginx

Certificado

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: ssl-cert-production
  namespace: default
spec:
  secretName: ssl-cert-production
  issuerRef:
    name: letsencrypt-production
    kind: ClusterIssuer
  commonName: {sub-domain}
  dnsNames:
  - {sub-domain}

Revisé algunos ejemplos en GitHub y preguntas en Stack Overflow, pero desafortunadamente no puedo averiguar dónde está el error.

Gracias de antemano por su atención.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según los archivos proporcionados, parece que ha configurado CertManager, Nginx-Ingress y su emisor de certificados correctamente. Sin embargo, hay algunas cosas que tal vez desee verificar para asegurarse de que todo funcione correctamente:

    1. Asegúrese de que el registro DNS de su subdominio apunte a la dirección IP de su clúster de Kubernetes.
    2. Verifique si el controlador de ingreso de Nginx está instalado correctamente y se está ejecutando ejecutando el comando kubectl get pods -n ingress-nginx. Esto le dará una lista de todos los pods en ejecución en el espacio de nombres ingress-nginx.

    3. Inspeccione los registros de los pods del controlador de Nginx-Ingress ejecutando el comando kubectl logs <nombre-del-pod-de-nginx-ingress> -n ingress-nginx. Esto le dará una mejor idea de lo que podría estar causando su problema.

    4. Verifique el estado de su certificado ejecutando el comando kubectl describe certificate ssl-cert-production. Esto le brindará información detallada sobre el estado del certificado, incluidos cualquier error o problema que pueda estar ocurriendo.

    5. Finalmente, asegúrese de haber agregado las anotaciones adecuadas a su archivo de ingreso para utilizar el certificado SSL que ha configurado. Puede verificar si sus anotaciones están configuradas correctamente ejecutando el comando kubectl describe ingreso rancher-demo.

    Esperemos que estos pasos le ayuden a identificar lo que podría estar causando su problema y a solucionarlo.

Comments are closed.