Kubernetes erklärt: Die Themenpark-Analogie: Autoskalierung, Taints und Affinitäten

Mehr zur Erklärung von Kubernetes und Themenparks: Skalierung, Taints und Affinitäten.

Im vorherigen Beitrag haben wir einiges abgedeckt, indem wir die Kubernetes-Konzepte anhand einer Themenpark-Analogie erklärt haben: Container, Pods, Deployments, ContainerPorts, CPU- und Speicherressourcen, Probes, Services, Ingresses, Labels, Nodes und Node-Pool.

In diesem Beitrag werden wir mit der Themenpark-Analogie fortfahren und über Autoskalierung, Taints und Affinitäten sprechen.

Erfolg!

Wie es nicht anders sein könnte, ist KubePark ein großer Erfolg. Menschen strömen zu den Toren, begierig darauf, das KubePark-Erlebnis zu genießen, aber es sind einfach zu viele Menschen: Warteschlangen beginnen zu wachsen und mürrische Besucher hinterlassen hässliche Bewertungen auf beliebten Websites.

große Warteschlangen

Bildzuordnung: http://www.themeparkguy.com/.

Sie halten die Warteschlangen in Schach, indem Sie zuerst die Anzahl der Attraktionen in Ihren Fahrplänen erhöhen und dann auch die Anzahl der gemieteten Pakete erhöhen, wenn die Pakete voll sind.

Wenn das tägliche Hantieren mit Fahrplänen und Paketverträgen nicht schon schlimm genug war, merkt man sehr schnell, dass das Karussell von 1909 morgens sehr beliebt ist, aber abends kaum benutzt wird, während die Achterbahn das Gegenteil ist, und lassen Sie uns nicht Sprechen Sie über diese wilden Conga-Linien um 4 Uhr morgens! Auch die Besucherzahlen an den Wochenenden sind um Größenordnungen größer als an Werktagen.

Sie verschwenden nur eine Menge Geld und Zeit.

Um das Problem zu lösen, entwickeln Sie zusätzliche Anweisungen (eine pro Attraktion) für Ihr Kontrollteam, sodass das Kontrollteam bei einer hohen durchschnittlichen Nutzung aller Klone einer Attraktion mehr dieser Attraktionen installiert und sie entfernt, wenn es Zeit ist der Verbrauch ist gering (k8s horizontale automatische Skalierung des Pods). Die Nutzung kann auf verschiedene Arten gemessen werden, aber Sie entscheiden, dass der Stromverbrauch (k8s, CPU-Auslastung) ist ein guter Proxy, um zu wissen, wie viel los eine Attraktion ist.

Darüber hinaus wird der Mietvertrag mit Ihrem Vermieter um eine neue Klausel ergänzt, die es Ihrem Kontrollpersonal erlaubt, zusätzliche Parzellen ohne Ihre Zustimmung (bis zu einem Maximum) anzumieten. So kann der Park am Wochenende wachsen und an Werktagen schrumpfen (k8s cluster autoscaler).

Von nun an läuft KubePark immer mit den minimal erforderlichen Ressourcen und mit wenig zusätzlichem Aufwand auf Ihrer Seite.

Mehr Attraktionen!

Jetzt, da der KubePark reibungslos läuft, ist es an der Zeit, ein breiteres Angebot an Attraktionen anzubieten.

Eine Marktstudie deutet darauf hin, dass eine Eisbahn und eine Skipiste die nächsten großen Dinge sein werden.

Da sie Schnee und Kälte benötigen, schließen Sie einen neuen Mietvertrag ab (k8s Knotenpool) um Ihnen Pakete in der Arktis mit einer Größe von 500 x 200 und einer Leistung von 250 kW zu liefern, und Sie kennzeichnen sie als „Ebenen“ und „arktisches Wetter“.

Auf der Funride-Vorlage fügen Sie einen neuen optionalen Abschnitt hinzu: Must-have- und Nice-to-have-Paketanhänger, und sowohl die Fahrpläne für die Eisbahn als auch für die Skipiste beinhalten das „Must-Have-Arktiswetter“. Die Kontrollmannschaft stellt sicher, dass diese Attraktionen immer auf Parzellen mit arktischem Wetter installiert werden (k8s Knotenaffinität).

Beachten Sie, dass Attraktionen ohne Paketanforderungen in den arktischen Paketen installiert werden könnten. Meistens ist das auch ok, das Karussell von 1909 sieht mit dem Schnee noch schöner aus. Aber in einigen Sonderfällen, wie diesen extrem teuren Schwerelosigkeitspaketen, möchten Sie alle Attraktionen ausschließen, mit Ausnahme derjenigen, die ausdrücklich für sie entwickelt wurden (k8s Mängel und Toleranzen).

Ärger voraus

Mit Blick auf die schneebedeckten Parzellen fangen Sie an, neue Attraktionen zu entspringen: Iglu-Übernachtungen, Pinguinrennen, Eisbären-Besichtigung, Nacktmann-Eisangelwettbewerb … aber in der Eile, all diese neuen Attraktionen zu haben, vernachlässigen Sie ein sehr wichtiges Detail und Unglück schlägt zu und schadet dem Ruf von KubePark schwer.

Das folgende Bild geht viral, aber seien Sie gewarnt, Sie finden es sehr beunruhigend:

Kubernetes-Affinitäten

Bildzuordnung: Lecken durch Kukuxumusu.

Zufällig wurde neben einem Pinguinrennen eine Eisbären-Sightseeing-Attraktion installiert. Kein schönes Schauspiel.

Damit das nicht wieder vorkommt, ist das Pinguin-Rennen als gekennzeichnet leckere Snacks Außerdem wird der Attraktionsvorlage eine neue Option hinzugefügt, mit der Sie angeben können, dass sich die Eisbären-Besichtigung nicht auf derselben Parzelle wie Attraktionen mit dem Tag befinden darf leckere Snacks.

In Anbetracht möglicher zukünftiger Verwendungen beschließen Sie, auch die zu spezifizierenden Optionen hinzuzufügen must-have-attraktion-mit-tag-X-in-der-selben-parzelle, nette-to-have-attraktion-mit-tag-X-in-der-selben-parzelle und Schön-keine-Attraktion-mit-Tag-X-im-selben-Paket-zu-haben (k8s Pod-Affinität und Anti-Affinität).

Ihre Kontrollmannschaft muss mindestens a einstellen Tetris-Weltmeister.

Ist das alles?

Sie wünschen wieder!

Wir können im nächsten Beitrag über Replikation, Daemon und Stateful Sets, Persistent Volumes, Jobs und Cron Jobs, Secrets, Config Maps lesen.

Leave a Reply

Your email address will not be published.