Das Kubernetes-Projekt wird 4 Jahre alt



Kubernetes feierte letzte Woche sein 4-jähriges Bestehen: Das erste Commit in seiner öffentlichen Codebasis fand am 6. Juni 2014 statt. Bei dieser Gelegenheit teilte einer seiner Gründer, Joe Beda, in seinem Projektblog seine Erinnerungen daran mit, wie alles begann.

Zuerst festschreiben


Und alles begann, wie Sie wissen, viel früher - mit "Ideen, die Google seit 10 Jahren mit Borg getestet hat" - einem System, das seinerseits "seine Existenz noch früheren Arbeiten bei Google und außerhalb von Google verdankt". So beschreibt Joe selbst die Ursprünge der Kubernetes, die dem ersten Commit vorausgingen:

Insbesondere begann Kubernetes mit Prototypen von Brendan Burns und meiner laufenden Arbeit von Craig McLuckie, um die internen Erfahrungen von Google mit Google Cloud in Einklang zu bringen. Gemeinsam mit Brendan und Craig wollten wir, dass die Menschen unsere Arbeit nutzen können. Deshalb haben wir beschlossen, einen Prototyp in Form eines Open Source-Projekts zu erstellen, das die Welt mit den besten Ideen von Borg öffnet.


Joe Beda, Craig McLuckie und Brendan Burns (von links nach rechts) - Kubernetes Originalautoren - in einer Podiumsdiskussion über die Geschichte des Projekts ( Video 2018)

Wir haben den Startschuss gegeben und begonnen, das System selbst zu erstellen. Wir haben Brendans Prototyp (in Java) auf Go umgeschrieben und nur das erforderliche Minimum gesammelt, um die wichtigsten Ideen zu zeigen. Zu diesem Zeitpunkt war unser Team gewachsen - es wurde ergänzt durch Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen und Daniel Smith. Nachdem wir etwas erhalten hatten, brauchten wir einen Mann, der die Dinge in Ordnung brachte und alles für einen öffentlichen Start vorbereitete. Ich wurde diese Person. Da ich die volle Bedeutung des Augenblicks nicht erkannte, erstellte ich ein neues Repository, legte die Entwicklungen dort ab und verpflichtete sie. Trotz der Tatsache, dass ich das erste öffentliche Commit für das Repository besitze, wurde bis zu diesem Zeitpunkt viel Arbeit geleistet.




Joe Beda begann seine Karriere bei Microsoft (1997) und wechselte von dort zu Google (2004). Anschließend war er Berater von CoreOS (2015) und gründete seine eigene Firma Heptio (2016).

Die ersten Entwicklungen von Kubernetes waren jedoch sehr grob:

Die Kubernetes-Version der Zeit war nur ein Schatten dessen, was das Projekt werden würde. Die Grundkonzepte waren vorhanden, aber in einer sehr groben Form. Pods wurden beispielsweise als Aufgaben bezeichnet. Wir haben das nur einen Tag vor dem öffentlichen Commit geändert. [..] Trotz dieser Feuchtigkeit reichte ein solcher Anfang aus, um das Interesse der Gemeinschaft zu wecken, die sich schnell erholte und schließlich nur noch stärker wurde.

Der offensichtliche Grund für den sich daraus ergebenden Anstieg der Popularität von Kubernetes ist, dass die gesamte Branche zu denselben Problemen kam und keine geeignete Lösung hatte. Craig wiederholt die Worte von Joe:

Wir haben lange darüber nachgedacht, wie wir das Starten von Anwendungen in der Produktion progressiver und „orchestrierter“ gestalten können. Aufgrund unserer Erfahrungen mit der Google Compute Engine haben wir in den ersten Zeilen die Probleme gesehen, mit denen Unternehmen beim Übertragen von Workloads in die Cloud konfrontiert sind. [..]

Wenn Sie sich die Geschichte ansehen, haben wir uns entschlossen, den Kubernetes-Code zu öffnen und ihn zu einem Community-orientierten Projekt zu machen, viel früher als es die üblichen Überlegungen empfehlen, und uns wirklich darauf konzentriert, eine Community zu schaffen, die offen und involviert ist. Und es hat sich wirklich gelohnt: Die Entwicklung von Kubernetes beschleunigte sich und wurde schnell zum Standard für die Container-Orchestrierung.

Erste Ankündigung


Die öffentliche Ankündigung von Kubernetes erfolgte wenige Tage nach dem ersten Commit - dem 10. Juni 2014 auf der ersten DockerCon-Konferenz. Dies wurde von Eric Brewer, Googles Vizepräsident für Infrastruktur, im Rahmen des Robust Containers-Berichts ( Video , Präsentation ) mit folgenden Worten durchgeführt:

Heute veröffentlichen wir Kubernetes Code. Dies ist ein weiteres Orchestrierungssystem ... [..] Ich werde es nicht demonstrieren, weil Ich habe nur 25 Minuten zu berichten. Craig und Brendan werden es später heute tun. [..] Der Grund, warum wir Kubernetes jetzt als Open Source-Projekt veröffentlichen, sind die Ideen [die wir mit der Community teilen möchten].

... und eine kurze Geschichte über die grundlegende Architektur von Kubernetes und die Schlüsselkonzepte des neuen Projekts: Labels für Herde (der Begriff Pod wurde bereits von Google für Containergruppen verwendet), Replikatsatz ("Herdgruppe mit denselben Bezeichnungen"), Service ("Replikatsatz mit Lastausgleich") ”), Reconciler-Modell („ Conciliator-Modell ”; die Schlüsselidee dieses Ansatzes besteht darin, den gewünschten Zustand zu deklarieren, damit das System in Zukunft die Einhaltung automatisch überwacht).


Kubernetes Ankündigung auf der DockerCon'14 Konferenz

Projektwerte


Was als nächstes mit Kubernetes passiert, wissen wir aus erster Hand ... Zusammenfassend stellt Joe fest, dass „der Erfolg des Projekts nicht nur auf Code und Technologie zurückzuführen ist, sondern auch darauf, wie eine wunderbare Gruppe von Menschen zusammengekommen ist, um etwas zu tun etwas Besonderes. “ Das beste Beispiel sind die Werte der Kubernetes-Community, die im Projekt-Repository präsentiert werden :

  1. Verteilung ist besser als Zentralisierung . Das Ausmaß, das Kubernetes erreicht hat, ist nur durch eine offene und vertrauensvolle Verteilung der Befugnisse über Management, Entscheidungsfindung, Architektur, Codebesitz und Dokumentation möglich.
  2. Community über Produkt oder Firma . Engagement für die Entwicklung des Projekts im Interesse aller Teilnehmer und Nutzer. Dies manifestiert sich in der öffentlichen gemeinsamen Arbeit (sowohl einzelner Enthusiasten als auch Unternehmen) zur Erreichung gemeinsamer Ziele.
  3. Automatisierung steht über dem Prozess . „Heldentum ist nicht realisierbar“, daher sollte Routinearbeit so weit wie möglich automatisiert und dort, wo es unmöglich ist, geschätzt werden.
  4. Absorbieren ist besser als ausschließen . Der weit verbreitete Erfolg der Technologie erfordert Ansichten aus verschiedenen Blickwinkeln und eine große Anzahl von Fähigkeiten, die in einer freundlichen und respektvollen Atmosphäre erfüllt werden müssen.
  5. Evolution ist besser als Stagnation . Im Zentrum der Kubernetes-Projektkultur stehen kontinuierliche Verbesserung, Dienerführung (Leader-Servant-Ansatz), Mentoring und Respekt. Zu den Aufgaben der Projektleiter gehört es, neue Community-Mitglieder zu finden und zu fördern, die beitreten können sollten, während die Leiter selbst bereit sein sollten, zu gehen.

Das berühmte Zitat von Peter Drucker fasst die Werte des Projekts zusammen: „Kultur isst die Strategie zum Frühstück.“

PS


Lesen Sie auch in unserem Blog:

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


All Articles