Saltar al contenido principal

Lab 2.3 - Monitoreo de los Componentes del Sistema

Objetivos​

Al final de este laboratorio, usted será capaz de:

  • Monitorear los componentes del Control Plane
  • Supervisar los Worker Nodes
  • Analizar las métricas del sistema
  • Identificar posibles problemas

Prerrequisitos​

  • Cluster Kubernetes funcional
  • kubectl instalado
  • Metrics Server instalado (para kubectl top)

Ejercicio 1: Monitoreo del Control Plane​

Paso 1: Estado de los Componentes​

# Ver el estado de los componentes (obsoleto pero útil)
kubectl get componentstatuses

# Ver los Pods del Control Plane
kubectl get pods -n kube-system

Paso 2: Logs de los Componentes​

# Logs del API Server
kubectl logs -n kube-system -l component=kube-apiserver --tail=100

# Logs del Controller Manager
kubectl logs -n kube-system -l component=kube-controller-manager --tail=100

# Logs del Scheduler
kubectl logs -n kube-system -l component=kube-scheduler --tail=100

Ejercicio 2: Monitoreo de los Nodes​

Paso 1: Salud de los Nodes​

# Ver el estado de todos los nodes
kubectl get nodes

# Detalles de un node
kubectl describe node <node-name>

# Ver las condiciones de un node
kubectl get node <node-name> -o jsonpath='{.status.conditions}'

Paso 2: Métricas de los Nodes​

# Uso de recursos
kubectl top nodes

# Detalles de los recursos
kubectl describe node <node-name> | grep -A 20 "Allocated resources"

Ejercicio 3: Eventos y Alertas​

Paso 1: Eventos Recientes​

# Todos los eventos
kubectl get events --all-namespaces --sort-by='.lastTimestamp'

# Eventos de error
kubectl get events --all-namespaces --field-selector type=Warning

# Eventos de un namespace
kubectl get events -n kube-system

Paso 2: Eventos de un Componente​

# Eventos relacionados con un Pod del sistema
kubectl describe pod <pod-name> -n kube-system | grep Events -A 10

Ejercicio 4: Salud del Cluster​

Paso 1: Verificación General​

# Información del cluster
kubectl cluster-info

# Versión
kubectl version

# Recursos disponibles
kubectl api-resources

Paso 2: Espacio de Nombres del Sistema​

# Todos los recursos en kube-system
kubectl get all -n kube-system

# Secrets del sistema
kubectl get secrets -n kube-system

# ConfigMaps del sistema
kubectl get configmaps -n kube-system

Ejercicio 5: Diagnóstico​

Paso 1: Problemas Comunes​

# Pods en error
kubectl get pods --all-namespaces --field-selector status.phase!=Running

# Pods que se reinician
kubectl get pods --all-namespaces | grep -E "Error|CrashLoopBackOff"

# Nodes NotReady
kubectl get nodes | grep NotReady

Paso 2: Análisis de Logs​

# Logs de un Pod que falla
kubectl logs <pod-name> -n <namespace> --previous

# Logs de todos los contenedores
kubectl logs <pod-name> -n <namespace> --all-containers=true

Preguntas de Reflexión​

  1. ¿Qué componentes son críticos para el funcionamiento del cluster?
  2. ¿Cómo detecta usted un problema con un componente?
  3. ¿Qué métricas son las más importantes para monitorear?
  4. ¿Cómo reaccionaría si un node se vuelve NotReady?

Limpieza​

No es necesario realizar limpieza.


Próximos Pasos​

Módulo 3: Pods y Despliegues
Quiz Módulo 2: Valide sus conocimientos


Lab creado el: Diciembre 2024