diff --git a/comprobaciones.md b/comprobaciones.md new file mode 100644 index 0000000..63fa3d9 --- /dev/null +++ b/comprobaciones.md @@ -0,0 +1,72 @@ +# **Comprobaciones y diagnóstico habitual** + +### Estado de pods y despliegues + +```bash +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:* + +```bash +kubectl describe pod -n +kubectl logs -n +``` + +### Servicios, IPs y estado MetalLB + +```bash +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 + +```bash +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 -n # Ver detalle y posibles errores +kubectl get clusterissuer,issuer -A # Ver emisores de cert-manager (staging, prod, etc.) +``` + +### Ingress, dominios y rutas + +```bash +kubectl get ingress -A +kubectl describe ingress -n +``` + +*Revisa que los hosts, paths y el campo `secretName` están correctos.* + +### Comprobar acceso SSL/TLS desde fuera + +```bash +openssl s_client -connect :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 -n ` 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. + +--- \ No newline at end of file