Añadir comprobaciones.md

This commit is contained in:
2025-07-21 21:53:18 +00:00
parent e2088d38ae
commit 076492496e

72
comprobaciones.md Normal file
View File

@ -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 <nombre-pod> -n <namespace>
kubectl logs <nombre-pod> -n <namespace>
```
### 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 <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
```bash
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
```bash
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.
---