Kubernetes: Historia
Kubernetes comenzó como una solución de orquestación de contenedores internos de Google.
El nombre en clave original para Kubernetes dentro de Google fue “Project Seven of Nine”, una referencia a un personaje que interpreta a un dron en Star Trek del mismo nombre. Ahora explicaremos qué es el sistema Borg, de donde parte Kubernetes.
Para contar la historia de cómo Kubernetes evolucionó de una solución de orquestación de contenedores internos en Google a la herramienta que conocemos hoy, profundizamos en la historia y vamos a recopilar los hitos más significativos.
2003-2004: Nacimiento del sistema Borg
https://research.google/pubs/pub43438/
Alrededor de 2003-2004, comienza un pequeño proyecto dentro de Google, con unas 3-4 personas, con el objetivo de crear una nueva versión del motor de búsqueda.
El sistema Borg de Google, es un sistema de gestión de clúster que ejecuta cientos de miles de trabajos, desde miles de aplicaciones diferentes, a través de varios clústeres, cada uno con hasta decenas de miles de máquinas.
Este sistema, originalmente fue escrito en el lenguaje de programación C++, aunque finalmente reescrito en Go.
2013: de Borg a Omega
Después de Borg, Google presentó el sistema de gestión de clúster llamado Omega, que tenía una gran escabilidad de grandes clústeres de cómputo.
2014: Google presenta Kubernetes
A mediados de 2014, se presenta Kubernetes como una versión de código abierto de Borg, se abre el proyecto sobre github y se unen a la comunidad de Kubernetes grandes actores como Microsoft, RedHat, IBM o Docker.
https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56
2015: Cloud Native Computing Foundation y v.1.0
Siguen sumándose al proyecto nuevas empresas (Huawei, Openshift,…), se presenta durante este año las versiones 1.0 y 1.1, comienzan las primeras charlas técnicas en San Francisco y el paso más importante, Google se asocia a la Linux Foundation para formar Cloud Native Computing Foundation (CNCF).
2016: Diferentes integraciones y mejoras
Primera versión de Helm (gestor de paquetes de Kubernetes), lanzamiento de Minikube que facilita la gestión local de Kubernetes, las nuevas versiones que surgen durante el año (1.2, 1.3, 1.4 y 1.5) traen novedades como el escalado, implementación simplificada de aplicaciones, administración automatizada de clústeres, kubeadm, compatibilidad con OpenAPI, soporte para Windows Server,…
Como curiosidad, Pokemon GO! (la aplicación del año) se convierte en un caso de éxito, como el mayor despliegue de Kubernetes en Google Container Engine.
2017: Estabilización y adopción
La versión 1.6 trae la estabilidad a Kubernetes.
Google, IBM y Lyft anuncian la tecnología Istio, que permite la gestión del flujo de tráfico, aplicar políticas de acceso y agregar datos de telemetría entre microservicios.
Otros hitos importantes este año que podemos reseñar son como que Github se ejecuta en Kubernetes, Oracle se une a la CNCF, la propia CNCF anuncia los primeros proveedores de certificados para Kubernetes, se presentan las versiones 1.7, 1.8 y 1.9 (acceso basado en roles, control de acceso a la API,…), Docker adopta complementamente Kubernetes, Amazon anuncia Elastic Container Service para Kubernetes, presentación Kubeflow…
2018 – 2019: Evolución
Google lanza el Podcast de Kubernetes, se celebran varias KubeCon a ambas partes del charco, Istio 1.2, diferentes versiones hasta 1.17,…
Os dejo este esquema de todos los proyectos CNFC:
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?