Saltar al contenido principal

Lab 2.2 - Análisis de los Worker Nodes

Objetivos​

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

  • Inspeccionar los Worker Nodes
  • Comprender el rol de kubelet
  • Analizar kube-proxy
  • Examinar el Container Runtime

Requisitos previos​

  • Cluster de Kubernetes funcional
  • kubectl instalado y configurado
  • Acceso al cluster

Ejercicio 1: Inspeccionar los Nodes​

Paso 1: Listar los Nodes​

# Ver todos los nodes
kubectl get nodes

# Ver los detalles de un node
kubectl describe node <node-name>

# Ver los nodes con más información
kubectl get nodes -o wide

Pregunta: ¿Cuántos Worker Nodes tiene usted? ¿Cuáles son sus roles?

Paso 2: Información de un Node​

# Ver los labels de un node
kubectl get node <node-name> --show-labels

# Ver las anotaciones
kubectl get node <node-name> -o jsonpath='{.metadata.annotations}'

Ejercicio 2: Analizar kubelet​

Paso 1: Verificar kubelet​

# Ver los Pods del sistema relacionados con kubelet
kubectl get pods -n kube-system | grep kubelet

# Ver los eventos de un node
kubectl get events --field-selector involvedObject.name=<node-name>

Paso 2: Métricas del Node​

# Ver el uso de recursos de un node
kubectl top node <node-name>

# Ver los detalles de los recursos
kubectl describe node <node-name> | grep -A 10 "Allocated resources"

Ejercicio 3: Analizar kube-proxy​

Paso 1: Verificar kube-proxy​

# Ver el Pod kube-proxy
kubectl get pods -n kube-system -l k8s-app=kube-proxy

# Ver los logs de kube-proxy
kubectl logs -n kube-system -l k8s-app=kube-proxy --tail=50

Paso 2: Verificar los Services​

# Listar todos los Services
kubectl get services --all-namespaces

# Ver los Endpoints de un Service
kubectl get endpoints <service-name>

Ejercicio 4: Container Runtime​

Paso 1: Identificar el Runtime​

# Ver la información del node (contiene el runtime)
kubectl describe node <node-name> | grep "Container Runtime"

# Ver las imágenes utilizadas
kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.spec.containers[*].image}{"\n"}{end}' | sort -u

Ejercicio 5: Pods en un Node​

Paso 1: Pods Asignados​

# Ver todos los Pods en un node específico
kubectl get pods --all-namespaces --field-selector spec.nodeName=<node-name>

# Contar los Pods por node
kubectl get pods --all-namespaces -o wide | awk '{print $7}' | sort | uniq -c

Paso 2: Recursos Utilizados​

# Ver el uso de recursos por Pod
kubectl top pods --all-namespaces

# Filtrar por node
kubectl top pods --all-namespaces | grep <node-name>

Preguntas de Reflexión​

  1. ¿Cuántos Pods pueden ejecutarse en cada node?
  2. ¿Cómo gestiona kubelet los recursos?
  3. ¿Cuál es el rol de kube-proxy en cada node?
  4. ¿Cómo se utiliza el Container Runtime?

Limpieza​

No es necesario realizar limpieza.


Próximos Pasos​

Lab 2.3: Monitoreo de los Componentes del Sistema
Módulo 3: Pods y Despliegues


Lab creado el: diciembre 2024