Hinweis perev. : Wir haben Kubernetes-Enthusiasten aus dem Garden- Projekt kürzlich auf der KubeCon Europe 2019 getroffen , wo sie einen guten Eindruck auf uns gemacht haben. Dieses Material, das zu einem relevanten technischen Thema verfasst wurde und einen spürbaren Sinn für Humor hat, ist eine klare Bestätigung dafür, und deshalb haben wir beschlossen, es zu übersetzen.
Er spricht über das (gleichnamige) Hauptprodukt des Unternehmens, dessen Idee es ist, Workflows zu automatisieren und die Anwendungsentwicklung in Kubernetes zu vereinfachen. Zu diesem Zweck können Sie mit dem Dienstprogramm auf einfache Weise (im wahrsten Sinne des Wortes mit einem Befehl) neue Änderungen am Code im Entwicklungscluster bereitstellen und gemeinsam genutzte Ressourcen / Caches bereitstellen, um das Zusammenstellen und Testen des Codes durch das Team zu beschleunigen. Vor zwei Wochen war Garden Gastgeber der Veröffentlichung von 0.10.0 , in der es möglich wurde, nicht nur den lokalen Kubernetes-Cluster, sondern auch den Remote-Cluster zu verwenden: Dieser Artikel ist diesem Ereignis gewidmet.Am wenigsten mag ich es, mit Kubernetes auf meinem Laptop zu arbeiten. Der „Pilot“ absorbiert seinen Prozessor und seine Batterie, lässt die Kühler drehen, ohne anzuhalten, und ist schwer zu warten.
Stockfoto in einem Thema, um den Effekt zu verbessern Minikube, Art, K3s, Docker Desktop, Microk8s usw. - Tolle Tools, die Kubernetes so bequem wie möglich machen sollen, und danke ihnen dafür. Im Ernst. Aber von welcher Seite auch immer Sie schauen, eines ist klar: Kubernetes ist nicht für die Ausführung auf meinem Laptop geeignet. Der Laptop selbst ist nicht für die Verwendung mit einer Gruppe von Containern ausgelegt, die über mehrere Schichten virtueller Maschinen verteilt sind. Das arme Ding versucht ihr Bestes, aber sie mag diesen Beruf eindeutig nicht. Sie zeigt ihr Missfallen mit dem Heulen der Kühler und bemüht sich, ihre Hüften zu verbrennen, wenn ich ihn rücksichtslos auf die Knie lege.
Nehmen wir an: Ein Laptop ist ein Laptop.Garden ist ein Entwicklertool in derselben Nische wie Skaffold und Draft. Es vereinfacht und beschleunigt die Entwicklung und das Testen von Kubernetes-Anwendungen.
Schon zu Beginn der Arbeiten am Garten vor ungefähr 18 Monaten wussten wir, dass die
lokale Entwicklung verteilter Systeme eine vorübergehende Lösung darstellt. Deshalb haben wir im Garten erhebliche Flexibilität und ein solides Fundament gelegt.
Jetzt sind wir bereit, sowohl lokale als auch Remote-Kubernetes-Umgebungen zu unterstützen. Die Arbeit ist viel einfacher geworden: Montage, Bereitstellung und Test können jetzt in einem Remote-Cluster ausgeführt werden.
Kurz gesagt:
Mit Garden v0.10 können Sie den lokalen Kubernetes-Cluster vollständig vergessen und erhalten dennoch eine schnelle Antwort auf Änderungen im Code. All dies ist kostenlos und Open Source.
Genießen Sie den gleichen Komfort bei der Arbeit mit lokalen und Remote-UmgebungenHast du deine Aufmerksamkeit bekommen?
Und ich freue mich darüber, da wir noch viele interessante Chips haben! Die allgemeine Verwendung von Entwicklungsclustern hat weitreichende Auswirkungen, insbesondere auf kollaborative Teams und CI-Pipelines.
Wie so?Zunächst einmal sind der Intra-
Cluster- Collector - ob es sich um den Standard-Docker- oder den Kaniko-Daemon handelt - sowie die Intra-
Cluster- Registrierung
für den gesamten Cluster gleich . Ihr Team kann den Entwicklungscluster zusammen verwenden, wobei allen Entwicklern Assembly-Caches und Images zur Verfügung stehen. Da Garden-Tags-Tags basierend auf Quell-Hashes, Tags und Layern eindeutig und konsistent definiert sind.
Dies bedeutet, dass ein Entwickler, sobald er ein Image erstellt,
dem gesamten Team zur
Verfügung steht . Tag für Tag laden wir dieselben Basis-Images herunter und erstellen dieselben Builds auf Computern. Neugierig, wie viel Verkehr und Strom verschwendet werden?
Gleiches gilt für die Tests: Ihre Ergebnisse stehen dem gesamten Cluster und allen Teammitgliedern zur Verfügung. Wenn einer der Entwickler eine bestimmte Version des Codes getestet hat, muss derselbe Test nicht wiederholt werden.
Mit anderen Worten, es geht nicht nur darum, dass Sie keine Minikube ausführen müssen. Dieser Sprung öffnet Ihrem Team die Tür zu
vielen Optimierungsmöglichkeiten - keine zusätzlichen Builds und Testläufe mehr!
Was ist mit CI?
Die meisten von uns sind daran gewöhnt, dass CI und lokaler Entwickler zwei separate Welten sind, die separat konfiguriert werden müssen (und keinen gemeinsamen Cache verwenden). Jetzt können sie kombiniert werden und überschüssiges Material entfernen:
Sie können dieselben Befehle in CI und im Entwicklungsprozess ausführen sowie eine einzelne Umgebung, Caches und Testergebnisse verwenden.Im Wesentlichen wird Ihr CI ein Bot-Entwickler, der in derselben Umgebung wie Sie arbeitet.
Elemente des Systems; ungehinderte Entwicklung und ErprobungSie können CI-Pipelines-Konfigurationen erheblich vereinfachen. Führen Sie dazu einfach Garden von CI aus, um Builds, Tests und Bereitstellungen durchzuführen. Da Sie und CI dieselbe Umgebung verwenden, ist die Wahrscheinlichkeit, dass CI-Probleme auftreten, viel geringer.
In unzähligen Zeilen mit Konfigurationen und Skripten stöbern, dann pushen, warten, hoffen und endlose Wiederholungen ... All dies gehört der Vergangenheit an.
Sie machen gerade Entwicklung. Keine unnötigen Bewegungen.
Und um die Situation endgültig zu klären:
Wenn Sie oder ein anderer Vertreter des Teams etwas mit Garden gesammelt oder getestet haben, ist dasselbe für CI passiert . Wenn Sie nach den Testläufen nichts geändert haben, müssen Sie keine Tests (oder sogar Assemblys) für CI durchführen. Garden erledigt alles selbst und geht dann zu anderen Aufgaben über, z. B. zum Organisieren einer Pre-Launch-Umgebung, zum Verschieben von Artefakten usw.
Klingt verlockend. Wie versuche ich es?
Willkommen in
unserem GitHub-Repository ! Installieren Sie Garden und spielen Sie mit Beispielen. Für diejenigen, die Garden bereits nutzen oder besser kennenlernen möchten, bieten wir den
Remote Kubernetes Guide an .
Besuchen Sie uns auf dem
# garten- Kanal
in Kubernetes Slack, wenn Sie Fragen haben, Bedenken 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 einen Überblick über nützliche Dienstprogramme für Anwendungsentwickler in Kubernetes veröffentlichen, die neben Garden weitere interessante Projekte haben ... In der Zwischenzeit lesen Sie auch in unserem Blog: