Garden v0.10.0: Ihr Laptop benötigt kein Kubernetes

Notiz. übersetzen: Mit Kubernetes-Enthusiasten aus dem Projekt Garden Wir haben uns kürzlich auf einer Veranstaltung kennengelernt KubeCon Europe 2019, wo sie einen angenehmen Eindruck auf uns gemacht haben. Ihr Material, geschrieben zu einem aktuellen technischen Thema und mit einem spürbaren Sinn für Humor, ist eine klare Bestätigung dafür, und deshalb haben wir uns entschieden, es zu übersetzen.

Er spricht über die Hauptsache (mit demselben Namen) Produkt Unternehmen, dessen Idee darin besteht, Arbeitsabläufe zu automatisieren und die Anwendungsentwicklung in Kubernetes zu vereinfachen. Zu diesem Zweck ermöglicht Ihnen das Dienstprogramm die einfache Bereitstellung neuer Codeänderungen im Entwicklungscluster (im wahrsten Sinne des Wortes mit einem Befehl) und stellt außerdem gemeinsam genutzte Ressourcen/Caches bereit, um das Erstellen und Testen des Codes durch das Team zu beschleunigen. Vor zwei Wochen war der Garten Gastgeber Version 0.10.0, bei dem es möglich wurde, nicht nur einen lokalen, sondern auch einen Remote-Kubernetes-Cluster zu verwenden: Diesem Ereignis ist dieser Artikel gewidmet.

Am wenigsten gefällt mir die Arbeit mit Kubernetes auf meinem Laptop. Der „Steuermann“ frisst Prozessor und Akku, lässt die Kühler ununterbrochen rotieren und ist schwer zu warten.

Garden v0.10.0: Ihr Laptop benötigt kein Kubernetes
Stock-Fotografie im Thema für zusätzlichen Effekt

Minikube, Art, K3s, Docker Desktop, Microk8s usw. - Hervorragende Tools, die entwickelt wurden, um die Verwendung von Kubernetes so bequem wie möglich zu gestalten, und vielen Dank dafür. Ernsthaft. Aber egal wie man es betrachtet, eines ist klar: Kubernetes ist nicht für die Ausführung auf meinem Laptop geeignet. Und der Laptop selbst ist nicht dafür ausgelegt, mit einem Cluster von Containern zu arbeiten, die über Schichten virtueller Maschinen verteilt sind. Das arme Ding versucht sein Bestes, mag diese Aktivität aber offensichtlich nicht, zeigt seine Unzufriedenheit mit dem Heulen der Kühlboxen und versucht, sich die Oberschenkel zu verbrennen, als ich ihn rücksichtslos auf die Knie zwinge.

Sagen wir: Laptop – Laptop.

Garden ist ein Tool für Entwickler, das dieselbe Nische wie Skaffold und Draft besetzt. Es vereinfacht und beschleunigt die Entwicklung und das Testen von Kubernetes-Anwendungen.

Von dem Moment an, als wir vor etwa 18 Monaten mit der Arbeit an Garden begannen, wussten wir das lokal Die Entwicklung verteilter Systeme ist eine vorübergehende Lösung, daher hat Garden eine erhebliche Flexibilität und ein solides Fundament eingebaut.

Wir sind jetzt bereit, sowohl lokale als auch Remote-Kubernetes-Umgebungen zu unterstützen. Die Arbeit ist deutlich einfacher geworden: Montage, Bereitstellung und Test können jetzt in einem Remote-Cluster durchgeführt werden.

Kurz gesagt:

Mit Garden v0.10 können Sie einen lokalen Kubernetes-Cluster völlig vergessen und erhalten trotzdem eine schnelle Reaktion auf Codeänderungen. All dies ist kostenlos und Open Source.

Garden v0.10.0: Ihr Laptop benötigt kein Kubernetes
Genießen Sie das gleiche Erlebnis in lokalen und Remote-Umgebungen

Haben Sie Ihre Aufmerksamkeit erhalten?

Und darüber freue ich mich, denn wir haben noch viele weitere interessante Features! Die allgemeine Verwendung von Entwicklungsclustern hat umfassendere Auswirkungen, insbesondere für kollaborative Teams und CI-Pipelines.

Wie so

Zunächst werden der Intra-Cluster-Collector – sei es ein Standard-Docker-Daemon oder Kaniko – sowie die Intra-Cluster-Registrierung gemeinsam genutzt für den gesamten Cluster. Ihr Team kann einen Entwicklungscluster teilen, wobei Build-Caches und Images allen Entwicklern zur Verfügung stehen. Da Garden Bilder anhand von Quell-Hashes taggt, werden Tags und Ebenen eindeutig und konsistent definiert.

Das heißt, sobald ein Entwickler ein Bild erstellt, wird es auch steht dem gesamten Team zur Verfügung. Tag für Tag laden wir dieselben Basisbilder herunter und erstellen dieselben Builds auf unseren Computern. Neugierig, wie viel Verkehr und Strom verschwendet werden?

Das Gleiche gilt für Tests: Ihre Ergebnisse stehen dem gesamten Cluster und allen Teammitgliedern zur Verfügung. Wenn einer der Entwickler eine bestimmte Version des Codes getestet hat, ist es nicht erforderlich, denselben Test erneut auszuführen.

Mit anderen Worten: Es geht nicht nur darum, Minikube nicht auszuführen. Dieser Sprung ebnet Ihrem Team den Weg dazu viele Optimierungsmöglichkeiten – keine unnötigen Builds und Testläufe mehr!

Was ist mit CI?

Die meisten von uns sind daran gewöhnt, dass CI und lokale Entwicklung zwei getrennte Welten sind, die separat konfiguriert werden müssen (und keinen gemeinsamen Cache haben). Jetzt können Sie sie kombinieren und den Überschuss loswerden:

Sie können die gleichen Befehle in CI und im Entwicklungsprozess ausführen, sowie Verwenden Sie eine einzige Umgebung, Caches und Testergebnisse.

Im Wesentlichen wird Ihr CI zu einem Entwickler-Bot, der in derselben Umgebung wie Sie arbeitet.

Garden v0.10.0: Ihr Laptop benötigt kein Kubernetes
Systemelemente; nahtlose Entwicklung und Tests

CI-Pipeline-Konfigurationen können erheblich vereinfacht werden. Führen Sie dazu einfach Garden über CI für Builds, Tests und Bereitstellungen aus. Da Sie und das CI dieselbe Umgebung verwenden, ist die Wahrscheinlichkeit, dass Sie auf CI-Probleme stoßen, deutlich geringer.

Unzählige Zeilen von Konfigurationen und Skripten durchwühlen, dann pushen, warten, hoffen und endlose Wiederholungen... Das alles gehört der Vergangenheit an. Du machst nur Entwicklung. Keine unnötigen Bewegungen.

Und um die Situation abschließend zu klären: Wenn Sie oder ein anderes Teammitglied etwas mit Garden erstellt oder getestet haben, passierte dasselbe für CI. Wenn Sie seit den Testläufen nichts geändert haben, müssen Sie für CI keine Tests (oder gar Builds) ausführen. Garden erledigt alles selbst und geht dann zu anderen Aufgaben über, wie zum Beispiel der Organisation der Pre-Launch-Umgebung, dem Verschieben von Artefakten usw.

Klingt verlockend. Wie versucht man es?

Herzlich willkommen in unser GitHub-Repository! Installieren Sie Garden und spielen Sie mit den Beispielen. Für diejenigen, die Garden bereits nutzen oder es näher kennenlernen möchten, bieten wir an Remote-Kubernetes-Leitfaden. Begleiten Sie uns im Kanal #garden in Kubernetes Slack, wenn Sie Fragen oder Probleme haben oder einfach nur chatten möchten. Wir sind immer bereit zu helfen und freuen uns über Feedback von Benutzern.

PS vom Übersetzer

In Kürze werden wir auch eine Rezension nützlicher Dienstprogramme für Anwendungsentwickler veröffentlichen, die in Kubernetes arbeiten, die neben Garden auch weitere interessante Projekte enthält... Lesen Sie in der Zwischenzeit auch auf unserem Blog:

Source: habr.com

Kommentar hinzufügen