Skip to content

Introducción a Kubernetes: Conceptos y Evolución

Objetivo:

Presentar a los participantes los conceptos básicos y la historia de Kubernetes, proporcionando un entendimiento sólido de su propósito y evolución en el ecosistema de las tecnologías de contenedores.

Contenido:

Kubernetes es una plataforma portátil, extensible y de código abierto para gestionar cargas de trabajo y servicios en contenedores, que facilita tanto la configuración declarativa como la automatización. Tiene un ecosistema grande y de rápido crecimiento. Los servicios, el soporte y las herramientas de Kubernetes están ampliamente disponibles.

El nombre Kubernetes proviene del griego y significa timonel o piloto. K8s como abreviatura resulta de contar las ocho letras entre la "K" y la "s". Google abrió el proyecto Kubernetes en 2014. Kubernetes combina más de 15 años de experiencia de Google ejecutando cargas de trabajo de producción a escala con las mejores ideas y prácticas de la comunidad.

Historia de Kubernetes:

  • Origen en Google como una manera de orquestar contenedores a gran escala (proyecto Borg).
  • Transición a un proyecto de código abierto y adopción por la Cloud Native Computing Foundation (CNCF). CNCF

CNCF Cloud Native Interactive Landscape

Evolución de la Tecnología de Contenedores:

  • Breve repaso de la historia y desarrollo de los contenedores. Echemos un vistazo a por qué Kubernetes es tan útil retrocediendo en el tiempo.

Historia de Kubernetes

Importancia de Kubernetes en el panorama actual de la tecnología de contenedores.

  • Kubernetes se ha convertido en el estándar de facto para la orquestación de contenedores debido a su robustez, flexibilidad y comunidad de apoyo masiva. Proporciona un ecosistema unificado para la gestión de contenedores, permitiendo a las organizaciones adoptar un enfoque estandarizado.

  • Gestión Eficiente a Gran Escala: Maneja de forma eficiente clusters de contenedores de cualquier tamaño, lo que es crucial para empresas que operan a gran escala. Su capacidad de automatizar el despliegue, escalado y gestión de aplicaciones contenerizadas reduce significativamente la complejidad operativa.

  • Alta Disponibilidad y Escalabilidad: Kubernetes facilita la alta disponibilidad y la escalabilidad horizontal, características esenciales para aplicaciones críticas para el negocio. Permite una fácil replicación de servicios y una rápida respuesta a cambios en la demanda.

  • Soporte para DevOps y Prácticas Ágiles: Se integra perfectamente con la filosofía DevOps, apoyando la integración y entrega continuas (CI/CD). Ayuda a las organizaciones a adoptar un enfoque más ágil y basado en microservicios para el desarrollo de software.

  • Ecosistema Rico y Comunidad Activa: Un vasto ecosistema de herramientas y extensiones que continúa creciendo, gracias al fuerte apoyo de la comunidad y contribuyentes. La participación activa de la comunidad y el apoyo constante de grandes jugadores en la industria aseguran su evolución y relevancia continua.

  • Portabilidad y Flexibilidad: Facilita la portabilidad de aplicaciones entre diferentes entornos de nube y sistemas on-premise, evitando el bloqueo con proveedores específicos. Su diseño modular y extensible permite personalizarlo para satisfacer diversas necesidades empresariales.

  • Seguridad y Aislamiento de Contenedores: Ofrece características robustas para la gestión de la seguridad y el aislamiento de contenedores, un aspecto crítico para las empresas preocupadas por la seguridad de sus datos y aplicaciones.