| title | Kubernetes | ||||
|---|---|---|---|---|---|
| tags |
|
||||
| category | devops | ||||
| status | draft | ||||
| created | 2025-10-05 | ||||
| updated | 2025-10-05 | ||||
| related |
Problema:
Necesito monitorear el estado de los pods en mi clúster de Kubernetes en tiempo real.
Solución:
- Opción 1: Usar el comando nativo de kubectl con la opción --watch para observar los cambios en los pods.
kubectl get pods -n <namespace> --watch- Opción 2: Usar la herramienta k9s, que proporciona una interfaz de usuario en la terminal para interactuar con el clúster de Kubernetes.
# Asegúrate de tener k9s instalado previamente
k9s -n <namespace>Para instalar k9s, puedes seguir las instrucciones en su repositorio oficial.
- Opción 3: Kubectl top, para ver el uso de recursos en tiempo real.
kubectl top pods -n <namespace> --watchRequiere tener el Metrics Server instalado en el clúster.
- Opción 4: Usar Stern, para revisar los logs de varios pods al mismo tiempo.
stern <pod-name> -n <namespace>Notas:
- Reemplaza
<namespace>con el namespace que deseas monitorear. Si no especificas un namespace, se usará el namespace por defecto. - Puedes filtrar los pods por nombre usando etiquetas o patrones en k9s y Stern.
Recomendación:
k9s es una herramienta muy útil para la administración de clústeres de Kubernetes, ya que permite ver y gestionar recursos de manera interactiva. Puedes navegar entre diferentes recursos, ver logs, y realizar acciones como eliminar pods directamente desde la interfaz.
Tags: #kubernetes #kubectl #k9s #stern #monitoring
Problema:
Cuando un pod en Kubernetes está en un estado no deseado (por ejemplo, CrashLoopBackOff), necesito reiniciarlo para que vuelva a funcionar correctamente.
Solución:
Opción 1: Eliminar el pod manualmente. Kubernetes automáticamente recreará el pod si está gestionado por un Deployment, ReplicaSet, o StatefulSet.
kubectl delete pod <pod-name> -n <namespace>Kubernetes recreará el pod automáticamente si está gestionado por un controlador.
Opción 2: Si quieres reiniciar todos los pods en un Deployment específico, puedes usar el siguiente comando para forzar un reinicio:
kubectl rollout restart deployment <nombre-del-deployment> -n <namespace>Notas:
Nunca intentes reiniciar un pod directamente con kubectl exec o similares, eso no es una práctica recomendada en Kubernetes. Siempre es mejor dejar que el controlador gestione la recreación de los pods.
Tags: #kubernetes #pods #reinicio
Problema:
La herramienta kubectl logs solo permite ver los logs de un pod a la vez, lo que puede ser ineficiente cuando se trabaja con múltiples pods.
Solución:
Usar la herramienta stern, que permite ver los logs de múltiples pods en tiempo real y filtrar por nombre de pod o etiquetas.
stern <nombre-del-pod> -n <namespace>Si no quieres que te muestre nada del historial y solo los logs nuevos, puedes usar la opción --since:
stern <nombre-del-pod> -n <namespace> --since 1mo también puedes usar --tail para limitar la cantidad de líneas que quieres ver:
stern <nombre-del-pod> -n <namespace> --tail 100Notas:
Este comando:
- Filtra los pods por el nombre proporcionado.
- Muestra los logs en tiempo real.
- No muestra logs históricos si se usa
--sinceo--tail.
Tags: #kubernetes #stern #logs