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.
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:
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 nombresingress-nginx
.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.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.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.