# **Comprobaciones y diagnóstico habitual** ### Estado de nodos, pods y despliegues ```bash kubectl get nodes -o wide # Estado y detalles de los nodos kubectl describe node # Info detallada, condiciones, taints, eventos 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 kubectl get events -A | tail -20 # Últimos eventos del clúster (errores recientes) ``` *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 kubectl logs -f -n # Logs en streaming (útil en troubleshooting) ``` ### Estado de los control-plane y componentes críticos ```bash kubectl get pods -n kube-system -o wide # Componentes internos: etcd, coredns, apiserver, controller, etc. kubectl logs -n kube-system # Logs de cualquier pod de kube-system ``` ### 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 kubectl describe svc -n # Ver detalles de servicio, endpoints, ports, etc. ``` ### 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.) kubectl describe clusterissuer # Detalles y eventos del issuer global ``` ### 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. ---