Le projet Kubernetes fête ses 4 ans



Kubernetes a célébré son 4e anniversaire la semaine dernière: le premier commit dans sa base de code public a eu lieu le 6 juin 2014. À cette occasion, l'un de ses fondateurs, Joe Beda, a partagé dans son blog de projet ses souvenirs de la façon dont tout a commencé.

Premier commit


Et tout a commencé, comme vous le savez, bien plus tôt - avec "des idées testées par Google depuis 10 ans avec Borg" - un système qui, à son tour, "doit son existence à des travaux encore plus anciens sur Google et à l'extérieur". Voici comment Joe lui-même décrit les origines des Kubernetes qui ont précédé le premier commit:

Plus précisément, Kubernetes a commencé avec des prototypes de Brendan Burns et mon travail en cours de Craig McLuckie pour aligner les expériences internes de Google avec Google Cloud. Avec Brendan et Craig, nous voulions que les gens puissent profiter de notre travail, nous avons donc décidé de créer un prototype sous la forme d'un projet Open Source qui ouvrira le monde avec les meilleures idées de Borg.


Joe Beda, Craig McLuckie et Brendan Burns (de gauche à droite) - auteurs originaux de Kubernetes - dans une table ronde sur l'histoire du projet ( vidéo 2018)

Nous avons obtenu le feu vert et commencé à créer le système lui-même. En prenant le prototype de Brendan (en Java), nous l'avons réécrit sur Go et n'avons collecté que le minimum nécessaire, ce qui nous permet de montrer les idées principales. À ce moment-là, notre équipe avait grandi - elle a été complétée par Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen et Daniel Smith. Ayant reçu quelque chose qui fonctionnait, nous avions besoin d'un homme qui mettrait les choses en ordre, préparant tout pour un lancement public. Je suis devenu cette personne. Ne réalisant pas la pleine signification du moment, j'ai créé un nouveau référentiel, y ai mis les développements et les ai engagés. Malgré le fait que je possède le premier commit public sur le référentiel, jusqu'à présent, beaucoup de travail a été fait.




Joe Beda a commencé sa carrière chez Microsoft (1997), passant de là à Google (2004), puis a été conseiller de CoreOS (2015) et a créé sa propre entreprise Heptio (2016)

Mais les premiers développements de Kubernetes ont été très grossiers:

La version Kubernetes de l'époque n'était qu'une ombre de ce que le projet allait devenir. Les concepts de base étaient présents, mais sous une forme très grossière. Par exemple, les modules étaient appelés tâches. Nous avons changé cela juste un jour avant l'engagement public. [..] Cependant, malgré cette humidité, même un tel début a suffi à susciter l'intérêt de la communauté, qui s'est rapidement ralliée et n'est finalement devenue que plus forte.

La raison évidente de la montée en popularité de Kubernetes qui a suivi est que l'industrie dans son ensemble est arrivée aux mêmes problèmes et n'avait pas de solution appropriée. Craig répète les mots de Joe:

Nous avons longuement réfléchi à la manière de rendre les lancements d'applications en production plus progressifs, «orchestrés». Sur la base de notre expérience avec Google Compute Engine, nous avons vu dès les premières lignes les problèmes rencontrés par les entreprises lors du transfert de charges de travail vers les clouds. [..]

Si vous regardez l'histoire, nous avons décidé d'ouvrir le code Kubernetes et d'en faire un projet axé sur la communauté beaucoup plus tôt que ne le suggère la pensée habituelle, et vraiment concentré sur la création d'une communauté ouverte et impliquée. Et cela a vraiment payé: le développement de Kubernetes s'est accéléré et il est rapidement devenu la norme pour l'orchestration de conteneurs.

Première annonce


L'annonce publique de Kubernetes a eu lieu quelques jours après le premier commit - le 10 juin 2014 lors de la première conférence DockerCon. Cela a été fait par Eric Brewer, vice-président de l'infrastructure de Google, dans le cadre du rapport Robust Containers ( vidéo , présentation ) avec les mots suivants:

Aujourd'hui, nous publions le code Kubernetes. Ceci est un autre système d'orchestration ... [..] Je ne vais pas le démontrer, car Je n'ai que 25 minutes pour faire rapport. Craig et Brendan le feront plus tard dans la journée. [..] La raison pour laquelle nous publions Kubernetes en tant que projet Open Source est maintenant à cause des idées [que nous voulons partager avec la communauté].

... et une courte histoire sur l'architecture de base de Kubernetes et les concepts clés du nouveau projet: étiquettes pour les foyers (le terme pod était déjà utilisé par Google pour désigner les groupes de conteneurs), jeu de répliques ("groupe de foyers avec les mêmes étiquettes"), service ("jeu de répliques avec équilibrage de charge) »), Modèle de réconciliateur (« modèle de conciliateur »; l'idée clé de cette approche est de déclarer l'état souhaité afin qu'à l'avenir le système en contrôle automatiquement la conformité).


Annonce de Kubernetes à la conférence DockerCon'14

Valeurs du projet


Quelle est la prochaine étape avec Kubernetes, nous le savons de première main ... Pour résumer le 4e anniversaire, Joe note que «le succès du projet est dû en grande partie non seulement au code et à la technologie, mais à la façon dont un merveilleux groupe de personnes s'est réuni pour faire quelque chose spécial. " Et la meilleure illustration est les valeurs de la communauté Kubernetes, qui sont présentées dans le référentiel du projet :

  1. La distribution est meilleure que la centralisation . L'échelle atteinte par Kubernetes n'est possible que grâce à une répartition ouverte et confiante des pouvoirs de gestion, de prise de décision, d'architecture, de propriété du code et de documentation.
  2. Communauté au-dessus du produit ou de l'entreprise . Engagement envers le développement du projet dans l'intérêt de tous ses participants et utilisateurs. Cela se manifeste par un travail public conjoint (tant des passionnés individuels que des entreprises) visant à atteindre des objectifs communs.
  3. L'automatisation est au-dessus du processus . «L'héroïsme n'est pas viable», donc le travail de routine devrait être automatisé autant que possible, et là où c'est impossible, apprécié.
  4. Absorber vaut mieux qu'exclure . Le succès généralisé de la technologie nécessite des vues sous des angles différents et un grand nombre de compétences qui doivent être réunies dans une atmosphère amicale et respectueuse.
  5. L'évolution est meilleure que la stagnation . Au cœur de la culture du projet Kubernetes se trouve l'amélioration continue, le leadership serviteur (approche leader-serviteur), le mentorat et le respect. Les responsabilités des chefs de projet comprennent la recherche et le parrainage de nouveaux membres de la communauté qui devraient pouvoir se joindre, tandis que les chefs eux-mêmes devraient être prêts à partir.

La célèbre citation de Peter Drucker résume les valeurs du projet: «La culture mange la stratégie pour le petit déjeuner.»

PS


Lisez aussi dans notre blog:

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


All Articles