Proyecto Kubernetes cumple 4 años



Kubernetes celebró su cuarto aniversario la semana pasada: el primer compromiso en su base de código público tuvo lugar el 6 de junio de 2014. En esta ocasión, uno de sus fundadores, Joe Beda, compartió en su blog del proyecto sus recuerdos de cómo comenzó todo.

Primero cometer


Y todo comenzó, como saben, mucho antes, con "ideas que Google probó durante 10 años con Borg", un sistema que, a su vez, "debe su existencia al trabajo anterior en Google y fuera de él". Así es como Joe mismo describe los orígenes de los Kubernetes que precedieron a la primera confirmación:

Específicamente, Kubernetes comenzó con prototipos de Brendan Burns y mi trabajo continuo de Craig McLuckie para alinear las experiencias internas de Google con Google Cloud. Junto con Brendan y Craig, queríamos que las personas pudieran aprovechar nuestro trabajo, por lo que decidimos crear un prototipo en forma de proyecto de código abierto que abrirá el mundo con las mejores ideas de Borg.


Joe Beda, Craig McLuckie y Brendan Burns (de izquierda a derecha), autores originales de Kubernetes, en una mesa redonda sobre la historia del proyecto ( video de 2018)

Obtuvimos el visto bueno y comenzamos a crear el sistema en sí. Tomando el prototipo de Brendan (en Java), lo reescribimos en Go y recopilamos solo el mínimo necesario, lo que nos permite mostrar las ideas principales. En este momento, nuestro equipo había crecido: se complementaba con Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen y Daniel Smith. Habiendo recibido algo que funcionaba, necesitábamos un hombre que pusiera las cosas en orden, preparando todo para un lanzamiento público. Me convertí en esta persona. Sin darme cuenta del significado completo del momento, creé un nuevo repositorio, puse los desarrollos allí y los comprometí. A pesar de que soy el propietario del primer compromiso público con el repositorio, hasta este momento se ha hecho mucho trabajo.




Joe Beda comenzó su carrera en Microsoft (1997), pasando de allí a Google (2004), y luego fue asesor de CoreOS (2015) y creó su propia compañía Heptio (2016)

Pero los primeros desarrollos de Kubernetes fueron muy crudos:

La versión de Kubernetes de la época era solo una sombra de lo que sería el proyecto. Los conceptos básicos estaban presentes, pero estaban en una forma muy cruda. Por ejemplo, los pods se llamaban tareas. Lo cambiamos solo un día antes del compromiso público. [..] Sin embargo, a pesar de esta humedad, incluso ese comienzo fue suficiente para despertar el interés de la comunidad, que rápidamente se recuperó y finalmente se hizo más fuerte.

La razón obvia del consiguiente aumento de la popularidad de Kubernetes es que la industria en su conjunto tuvo los mismos problemas y no tenía una solución adecuada. Craig repite las palabras de Joe:

Durante mucho tiempo pensamos en cómo hacer que el lanzamiento de aplicaciones en producción sea más progresivo, "orquestado". Basándonos en nuestra experiencia con Google Compute Engine, vimos desde las primeras filas los problemas que enfrentan las empresas al transferir cargas de trabajo a las nubes. [..]

Si nos fijamos en la historia, decidimos abrir el código de Kubernetes y convertirlo en un proyecto orientado a la comunidad mucho antes de lo que recomienda la línea de pensamiento habitual, y realmente enfocado en crear una comunidad abierta e involucrada. Y realmente valió la pena: el desarrollo de Kubernetes se aceleró y rápidamente se convirtió en el estándar para la orquestación de contenedores.

Primer anuncio


El anuncio público de Kubernetes tuvo lugar unos días después del primer compromiso, el 10 de junio de 2014 en la primera conferencia DockerCon. Esto fue hecho por Eric Brewer, vicepresidente de infraestructura de Google, como parte del informe Robust Containers ( video , presentación ) con las siguientes palabras:

Hoy estamos lanzando el código de Kubernetes. Este es otro sistema de orquestación ... [..] No lo demostraré, porque Solo tengo 25 minutos para informar. Craig y Brendan lo harán más tarde hoy. [..] La razón por la que estamos publicando Kubernetes como un proyecto de Código Abierto ahora es por las ideas [que queremos compartir con la comunidad].

... y una breve historia sobre la arquitectura básica de Kubernetes y los conceptos clave del nuevo proyecto: etiquetas para hogares (el término pod ya fue utilizado por Google para referirse a grupos de contenedores), conjunto de réplicas ("grupo de hogares con las mismas etiquetas"), servicio ("conjunto de réplicas con equilibrio de carga "), Modelo de reconciliador (" modelo de conciliador "; la idea clave de este enfoque es declarar el estado deseado para que en el futuro el sistema controle automáticamente su cumplimiento).


Anuncio de Kubernetes en la Conferencia DockerCon'14

Valores del proyecto


Lo que sigue con Kubernetes, lo sabemos de primera mano ... Resumiendo el 4to aniversario, Joe señala que "el éxito del proyecto se debió en gran parte no solo al código y la tecnología, sino a cómo un grupo maravilloso de personas se unieron para hacer algo especial ". Y la mejor ilustración son los valores de la comunidad de Kubernetes, que se presentan en el repositorio del proyecto :

  1. La distribución es mejor que la centralización . La escala que Kubernetes ha logrado solo es posible a través de una distribución abierta y confiable de poderes sobre la gestión, la toma de decisiones, la arquitectura, la propiedad del código y la documentación.
  2. Comunidad por encima del producto o empresa . Compromiso con el desarrollo del proyecto en interés de todos sus participantes y usuarios. Esto se manifiesta en el trabajo público conjunto (tanto de entusiastas individuales como de empresas) dirigido a lograr objetivos comunes.
  3. La automatización está por encima del proceso . "El heroísmo no es viable", por lo que el trabajo de rutina debe automatizarse tanto como sea posible, y donde sea imposible, apreciado.
  4. Absorber es mejor que excluir . El éxito generalizado de la tecnología requiere puntos de vista desde diferentes ángulos y una gran cantidad de habilidades que deben cumplirse en una atmósfera amigable y respetuosa.
  5. La evolución es mejor que el estancamiento . En el corazón del proyecto Kubernetes, la cultura es la mejora continua, el liderazgo de servicio (enfoque líder-servidor), la tutoría y el respeto. Las responsabilidades de los líderes del proyecto incluyen la búsqueda y el patrocinio de nuevos miembros de la comunidad que deberían poder unirse, mientras que los propios líderes deberían estar listos para partir.

La famosa cita de Peter Drucker resume los valores del proyecto: "La cultura se come la estrategia para el desayuno".

PS


Lea también en nuestro blog:

Source: https://habr.com/ru/post/es413827/


All Articles