Actualizar comprobaciones.md

This commit is contained in:
xguefer
2025-08-08 13:09:54 +02:00
parent d04b9b9048
commit 08f9409ce2

View File

@@ -1,8 +1,6 @@
# **Comprobaciones y diagnóstico habitual** # **Comprobaciones y diagnóstico habitual**
## 1. Estado de nodos, pods y despliegues
### Estado de nodos, pods y despliegues
```bash ```bash
kubectl get nodes -o wide # Estado y detalles de los nodos kubectl get nodes -o wide # Estado y detalles de los nodos
@@ -23,14 +21,15 @@ kubectl describe pod <nombre-pod> -n <namespace>
kubectl logs <nombre-pod> -n <namespace> kubectl logs <nombre-pod> -n <namespace>
kubectl logs -f <nombre-pod> -n <namespace> # Logs en streaming (útil en troubleshooting) kubectl logs -f <nombre-pod> -n <namespace> # Logs en streaming (útil en troubleshooting)
``` ```
### Estado de los control-plane y componentes críticos
## 2. Estado del control-plane y componentes críticos
```bash ```bash
kubectl get pods -n kube-system -o wide # Componentes internos: etcd, coredns, apiserver, controller, etc. kubectl get pods -n kube-system -o wide # Componentes internos: etcd, coredns, apiserver, controller, etc.
kubectl logs -n kube-system <nombre-pod> # Logs de cualquier pod de kube-system kubectl logs -n kube-system <nombre-pod> # Logs de cualquier pod de kube-system
``` ```
### Servicios, IPs y estado MetalLB ## 3. Servicios, IPs y estado MetalLB
```bash ```bash
kubectl get svc -A # Todos los servicios, revisa columna EXTERNAL-IP kubectl get svc -A # Todos los servicios, revisa columna EXTERNAL-IP
@@ -38,7 +37,7 @@ kubectl get svc -n traefik # Servicio LoadBalancer de Traefik
kubectl describe svc <nombre-svc> -n <ns> # Ver detalles de servicio, endpoints, ports, etc. kubectl describe svc <nombre-svc> -n <ns> # Ver detalles de servicio, endpoints, ports, etc.
``` ```
### Certificados, secrets y recursos cert-manager ## 4. Certificados, secrets y recursos cert-manager
```bash ```bash
kubectl get secrets -n traefik # Verifica el Secret TLS (ej: wildcard-cert) kubectl get secrets -n traefik # Verifica el Secret TLS (ej: wildcard-cert)
@@ -51,7 +50,7 @@ kubectl get clusterissuer,issuer -A # Ver emisores de cert-manager (sta
kubectl describe clusterissuer <name> # Detalles y eventos del issuer global kubectl describe clusterissuer <name> # Detalles y eventos del issuer global
``` ```
### Ingress, dominios y rutas ## 5. Ingress, dominios y rutas
```bash ```bash
kubectl get ingress -A kubectl get ingress -A
@@ -60,7 +59,7 @@ kubectl describe ingress <name> -n <ns>
*Revisa que los hosts, paths y el campo `secretName` están correctos.* *Revisa que los hosts, paths y el campo `secretName` están correctos.*
### Comprobar acceso SSL/TLS desde fuera ## 6. Comprobar acceso SSL/TLS desde fuera
```bash ```bash
openssl s_client -connect <IP_MetalLB>:443 -servername app1.miempresa.com openssl s_client -connect <IP_MetalLB>:443 -servername app1.miempresa.com
@@ -70,21 +69,62 @@ openssl s_client -connect <IP_MetalLB>:443 -servername app1.miempresa.com
--- ---
## g) **Comprobaciones útiles entre pasos** ## 7. Comandos útiles para trabajar con NAD (NetworkAttachmentDefinition)
* Tras instalar Traefik y MetalLB: ### a) Ver todos los NAD existentes
Comprueba que el servicio Traefik tiene una IP del pool y responde en el puerto 80/443.
* Tras instalar cert-manager y crear issuers: ```bash
Haz `kubectl get pods -n cert-manager` y revisa los logs si algún pod falla. kubectl get network-attachment-definitions --all-namespaces
# o, más corto
kubectl get nad -A
```
* Tras crear un Secret TLS: ### b) Ver el YAML de un NAD concreto
Haz `kubectl describe secret <nombre> -n <namespace>` y asegúrate de que el tipo es `kubernetes.io/tls`.
* Tras crear Ingress: ```bash
Comprueba con `kubectl get ingress -A` y revisa que los hosts y secrets estén bien referenciados. kubectl get network-attachment-definition <NOMBRE_NAD> -o yaml
# o
kubectl -n <NAMESPACE> get nad <NOMBRE_NAD> -o yaml
```
* Si accedes por navegador y hay error SSL: ### c) Borrar un NAD
Usa `openssl s_client` para ver qué certificado se está presentando realmente.
```bash
kubectl delete network-attachment-definition <NOMBRE_NAD>
# o
kubectl -n <NAMESPACE> delete nad <NOMBRE_NAD>
```
### d) Editar un NAD en caliente
```bash
kubectl edit network-attachment-definition <NOMBRE_NAD>
# o
kubectl -n <NAMESPACE> edit nad <NOMBRE_NAD>
```
---
## 8. 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.
--- ---