So erklärt ihr einfach Kubernetes
Wir haben für euch eine kleine Analogie zusammengestellt, mit der ihr das Problem vermeiden und Kubernetes einfach erklärt bekommt:
Jeder weiß, was eine Verkäuferin macht, was ein LKW-Fahrer ist oder wo man einen Postboten antrifft – aber im 21. Jahrhundert gibt es mittlerweile eine ganze Menge Berufe, die nicht mehr so einfach erklärt werden können, aber dennoch für das Funktionieren der Gesellschaft praktisch unverzichtbar sind.
Das trifft besonders auf technische Berufe in IT zu. Obwohl die meisten Menschen im Alltag diese Technologien nutzen, ist ihnen das Grundgerüst dahinter komplett fremd und man gilt schon als Genie, wenn man einen Router konfigurieren kann.
Wenn du also zum Beispiel ein DevOps für Kubernetes bist, könnte eine Erklärung ungefähr so ablaufen:
Der Name Kubernetes ist abgeleitet von dem griechischen Wort κυβερνήτης (kubernḗtēs), was in etwa Steuermann heißt. Das Logo von Kubernetes ist - dazu passend - auch ein Steuerrad. Name und Logo verstärken die Grundidee von Kubernetes, als Steuermann und Manager. Genau das macht Kubernetes mit Containern, auf vielen unterschiedlichen Wegen wird automatisiert, was zuvor von einem oder mehreren Administratoren per Hand – zum Beispiel in Docker – umgesetzt wurde. Darum nennen sich Anwendungen wie diese oft „Containerorchestrierungen“. Kubernetes kann man sich also auch als Dirigent eines Orchesters vorstellen, dieser sorgt dafür, dass jeder nach seiner Pfeife tanzt und am Ende ein hübsches Lied dabei herauskommt.
WAS BEDEUTET KUBERNETES?
Darum möchten wir es euch einfach machen. Entweder um nicht den Rest des gemeinsamen Brunchs vor großen Fragezeichen zu sitzen oder um Neueinsteigern ein einfaches Grundgerüst als Basis für das zukünftige Lernen zu geben.
Grundlegend ist die Namensgebung die erste große Frage. Was ist bitte ein Kubernetes? Die Antwort ist simpel: Der Name Kubernetes stammt aus dem Griechischem und bedeutet Steuermann oder Pilot. Hier habt ihr auch schon den ersten Ansatz, um K8s zu beschreiben: Kubernetes steuert etwas und hält es auf Kurs. Was dieses etwas ist, dazu kommen wir natürlich gleich auch noch. Aber zuerst zu der Abkürzung K8s, dies bedeutet nichts anderes als Kubernetes, nur werden die 8 Buchstaben zwischen „K“ und „s“ durch die 8 ersetzt.
KUBERNETES EINFACH DEFINIERT
Trotz der einfachen Erklärung könnte es passieren, dass ihr dennoch in verständnislose Gesichter am Tisch schaut, aber wir bitten euch, noch etwas durchzuhalten und eure Zuhörer über das, was ihr wirklich macht, aufzuklären:
Kubernetes ist eine sogenannte Containerorchestrierung. Und in diesem Wort finden wir das Beispiel anhand dessen ihr euren Verwandten und Bekannten alles erklären könnt. Na, habt ihr es schon erraten? Es ist sind Container und was das ist, weiß seit dem kleinen Missgeschick der „Ever Given“ doch wirklich jeder!
Was macht denn ein Container? Er bietet eine sichere Aufbewahrung von Dingen. Wenn ein Kunde nun einen Container bucht, dann hat er nur einen begrenzten Platz, damit habt ihr eure Ressourcenlimits für den Kunden definiert. Natürlich hat so ein Schiff mehr Platz als für einen lausigen Container, dennoch möchtet ihr vielleicht weitere Kunden bedienen und nicht einen Kunden haben, der auch dauerhaft den gesamten Platz auf dem Schiff wegnimmt. Genauso verhält es sich auch mit Programmen, diese können sämtliche Ressourcen beschlagnahmen und damit andere Programme oder Kunden einschränken. Jetzt kann man natürlich jedem Kunden ein neues Schiff geben und sagen „du kannst hier alles verbrauchen“, aber das wäre schon absurdes Missmanagement und komplette Verschwendung. Denn wer gewährleistet mir, dass jeder Kunde ein komplettes Schiff bucht und verbraucht?
So ähnlich war das früher mit Servern, die aus vielen kleinen Computern bestanden. Das nimmt Platz weg und ist verschwenderisch. Dann kam jemand und hat gesagt, dass man jedem Kunden ja einen separaten Bereich auf dem Schiff anbieten kann und diesen dann den Anforderungen anpasst. Somit hat man den Bereich der Kunden künstlich begrenzt und kann den restlichen freien Platz mit anderen auffüllen. Doch hier und da würde ja noch ein Container hinpassen, aber ich kann keinen gesamten Kunden mehr mit meinem Schiff bedienen und muss weitere auf einem anderen Schiff verlagern. Zudem kommen noch die Gestelle, Verbindungen und der Platz für Öl, Motor, Crew und Proviant. Überall dort könnte man theoretisch noch Platz für Container schaffen, aber diese Dinge werden benötigt, um das Schiff am Laufen zu halten. Dies sind virtuelle Maschinen, ich benötige trotzdem noch Ressourcen, um notwendiges betriebsbereit zu halten. In diesem Fall ein Betriebssystem und eine Library.
KUBERNETES ALS GEDANKENSPIEL
Und jetzt kommt der coole Teil: In der IT ist das nicht zwingend so und wir spielen ein Gedankenspiel!
Jetzt stellen wir uns ein fiktives Schiff vor, jeder Container braucht für die Fahrt eine bestimmte geleistete Arbeit durch die Crew, das Öl, den Proviant und den Motor. Also in diesem Fall unsere Hardware. Jetzt denken wir uns alle sämtlichen notwendigen Bedingungen für die anderen Container weg. Und teilen die Bedingungen des einen Containers unter allen anderen Container auf. Und auf unserem fiktiven Schiff funktioniert das, ohne die Leistung und Stabilität der Fahrt einzuschränken. Das ist Containervirtualisierung. Und nun habt ihr die Grundlage, um euren Gästen Kubernetes zu präsentieren. Kubernetes ist die Werft dieser Schiffe und plant sämtliche Fahrten, Löschung und Beladung. Und das alles, ohne die Stabilität des Gesamtkonstruktes zu gefährden.
Wenn ihr das erklärt habt, sollte eigentlich jeder am Tisch verstanden haben, was Kubernetes ist und was ihr genau mit Containern zu tun habt!
Wenn nicht, könnt ihr – passend zu Weihnachten – für eure Freunde und Verwandten natürlich auch eine Kubernetes-Einführungsschulung bei uns buchen.