18 puntos por xguru 2025-11-13 | 4 comentarios | Compartir por WhatsApp
  • Herramienta de runtime desarrollada para reducir el desperdicio de recursos de contenedores inactivos en entornos Kubernetes
  • Si no hay conexiones TCP durante cierto tiempo, guarda automáticamente un checkpoint del contenedor en disco
  • Funciona en forma de containerd shim, guarda el estado de memoria del contenedor y luego lo detiene, para después restaurarlo en pocos milisegundos en la primera conexión
  • Al restaurarse, todo el estado de la aplicación se recupera tal cual, por lo que desde la perspectiva del usuario casi no hay latencia
  • Usa redirección basada en eBPF para enviar los paquetes TCP al proxy y, una vez completada la restauración, cambia a conexión directa
  • Realiza el checkpoint y la restauración con CRIU - Checkpoint and Restore in Userspace
  • Ofrece un flujo de restauración automática en la primera solicitud mediante la secuencia de activación (activation sequence)
  • Incluye una lógica de espera inteligente que rastrea la actividad TCP reciente para evitar pausas y restauraciones frecuentes
  • En Kubernetes, se percibe como si el contenedor siguiera ejecutándose, lo que evita reinicios del runtime
  • Al ejecutar el comando kubectl exec, se restaura automáticamente y se puede acceder como a un contenedor normal
  • Cada proceso shim recopila métricas, y el zeropod-manager a nivel de nodo las integra y las expone mediante un endpoint HTTP
  • Si el clúster lo soporta, ofrece in-place scaling para ajustar dinámicamente las solicitudes de recursos
  • Al drenar un nodo, permite migrar Pods reducidos de escala a otros nodos
  • También soporta migración en vivo como función experimental
  • Es adecuado para servicios de bajo tráfico, entornos de desarrollo y staging, tiers económicos de plataformas tipo Heroku y backends para sitios estáticos
  • La mayoría de los programas funcionan sin cambios adicionales y los errores de CRIU pueden analizarse mediante los logs de containerd

4 comentarios

 
kayws426 2025-11-14

¿La reinvención de inetd? (broma)

 
dongho42 2025-11-13

La Elastic Machine Pool de Platform 9 que vi el año pasado en AWS re:Invent en ese momento me daba algo de carga probarla por encima porque era solo para B2B, pero esto se ve bien porque la instalación es sencilla y el funcionamiento es intuitivo. Quería asignar recursos de forma agresiva en el entorno de desarrollo sin perjudicar la experiencia del usuario, y si después de hacer una PoC sale bien, parece que valdría la pena adoptarlo.

 
laeyoung 2025-11-13

Me preguntaba en qué se diferencia de KNative, y parece que estas dos frases de abajo son la clave.

  • Funciona en forma de shim de containerd, guarda el estado de memoria del contenedor y luego lo finaliza; después, en la primera conexión, lo restaura en unos pocos milisegundos
  • Al restaurarse, se recupera tal cual todo el estado de la aplicación, así que desde la perspectiva del usuario casi no hay latencia
 
vb6ko 2025-11-13

lambda. . .. ?