Files
kubernetes/comprobaciones.md
2025-07-21 21:53:18 +00:00

2.3 KiB

Comprobaciones y diagnóstico habitual

Estado de pods y despliegues

kubectl get pods -A                          # Todos los pods de todos los namespaces
kubectl get pods -n traefik                  # Sólo los pods de Traefik
kubectl get pods -n cert-manager             # Sólo cert-manager
kubectl get deployments -A                   # Todos los deployments

Todos los pods deben estar en estado Running o Completed. Si alguno está en CrashLoopBackOff o Error, inspecciona con:

kubectl describe pod <nombre-pod> -n <namespace>
kubectl logs <nombre-pod> -n <namespace>

Servicios, IPs y estado MetalLB

kubectl get svc -A                           # Todos los servicios, revisa columna EXTERNAL-IP
kubectl get svc -n traefik                   # Servicio LoadBalancer de Traefik debe tener IP de MetalLB

Certificados, secrets y recursos cert-manager

kubectl get secrets -n traefik               # Verifica el Secret TLS (ej: wildcard-cert)
kubectl describe secret wildcard-cert -n traefik
kubectl get certificate -A                   # (cert-manager) lista los recursos Certificate gestionados
kubectl describe certificate <name> -n <ns>  # Ver detalle y posibles errores
kubectl get clusterissuer,issuer -A          # Ver emisores de cert-manager (staging, prod, etc.)

Ingress, dominios y rutas

kubectl get ingress -A
kubectl describe ingress <name> -n <ns>

Revisa que los hosts, paths y el campo secretName están correctos.

Comprobar acceso SSL/TLS desde fuera

openssl s_client -connect <IP_MetalLB>:443 -servername app1.miempresa.com

Verifica el certificado servido y el SNI.


g) Comprobaciones útiles entre pasos

  • Tras instalar Traefik y MetalLB: Comprueba que el servicio Traefik tiene una IP del pool y responde en el puerto 80/443.

  • Tras instalar cert-manager y crear issuers: Haz kubectl get pods -n cert-manager y revisa los logs si algún pod falla.

  • Tras crear un Secret TLS: Haz kubectl describe secret <nombre> -n <namespace> y asegúrate de que el tipo es kubernetes.io/tls.

  • Tras crear Ingress: Comprueba con kubectl get ingress -A y revisa que los hosts y secrets estén bien referenciados.

  • Si accedes por navegador y hay error SSL: Usa openssl s_client para ver qué certificado se está presentando realmente.