Um Anwendungen in Kubernetes bereitzustellen, sind Zusatztools wie Skaffold oder Squash eine sinnvolle Ergänzung. Die Tools übernehmen Build- und Deployment-Aufgaben, um Entwickler und Entwicklerinnen zu entlasten.
Skaffold ist in wenigen Sekunden auf Rechnern von Entwicklern einsatzbereit. Eine Installation auf dem Kubernetes-Cluster ist nicht notwendig.
(Bild: Joos / Skaffold)
Das Open-Source-Projekt Skaffold ist ein Tool von Google, das Developer dabei unterstützt, aus Code eine funktionierende Anwendung auf einem Kubernetes-Cluster zu machen. Dazu kann Skaffold die Aufgaben für das Erstellen von Builds und den Push sowie die Bereitstellung in Kubernetes erledigen.
Parallel dazu können Entwickler auch noch Squash verwenden, um Code zu debuggen und auch hier Bereitstellungen sowie die Entwicklung von Code zu vereinfachen. Squash und Skaffold ergänzen sich also nahezu perfekt. Dazu ist es auch möglich, Squash in bestehende IDEs zu integrieren, zum Beispiel in Microsoft Visual Studio.
Anwendungen mit Skaffold erstellen
Ein Vorteil bei der Bereitstellung von Anwendungen auf Kubernetes mit Skaffold besteht darin, dass auf dem Kubernetes-Cluster keine Erweiterungen installiert werden müssen. Das Tool arbeitet mit Kubernetes-nativen Funktionen. Dazu gehören richtlinienbasiertes Image-Tagging, Port-Forwarding, Protokollierung und auch die Synchronisierung von Dateien.
Skaffold arbeitet als Tool für die Kommandozeile nur auf dem Client. Es gibt auf dem Cluster keinerlei Overhead durch das Tool. Zusätzlich arbeitet das Tool auch mit Git zusammen, sodass „git clone“ und „skaffold run“ gemeinsam genutzt werden können, um Anwendungen zu teilen. Die Installation auf einem Linux-Computer ist mit zwei Zeilen im Terminal abgeschlossen:
Skaffold ist in wenigen Sekunden auf Rechnern von Entwicklern einsatzbereit. Eine Installation auf dem Kubernetes-Cluster ist nicht notwendig.
(Bild: Joos / Skaffold)
In der umfangreichen Skaffold-Dokumentation werden die einzelnen Abläufe genau beschrieben, auch mit CI/CD. Das ist auch einer der Schwerpunkt von Skaffold. Vor allem in Continuous Deployment-Szenarien kann Skaffold seine Stärken ausspielen, da sich hier recht schnell automatisierte Bereitstellungen umsetzen lassen, auch in Umgebungen, die bereits in Produktion sind. Da auf Seiten des Clusters keine Installationen vorgenommen werden müssen, ist eine Integration von Skaffold für Entwickler keine große Sache.
Anwendungen in Kubernetes kontinuierlich aktualisieren
Skaffold übernimmt bei Bedarf alle Prozesse, die für kontinuierliche Updates der Anwendungen notwendig sind, die bereits im Kubernetes-Cluster laufen. Das Tool kann direkt aus dem Quellcode neue Builds erstellen und diese bereitstellen. Wer keine direkte Bereitstellung durchführen will, erstellt mit Skaffold einfach entsprechende Images.
Diese Images lassen sich wiederum in GitOps-Workflows einsetzen. Auch Debugging von Anwendungen ist mit Skaffold möglich. Hier unterstützt Skaffold unter anderem Go, Node.js, Java oder Python. Für das Debugging steht der Parameter „skaffold debug“ neben „skaffold build“, „skaffold dev“ und „skaffold deploy“ zur Verfügung.
Eine weitere Stärke von Skaffold besteht darin, dass sich das Tool in Umgebungen mit mehreren Kubernetes-Clustern einsetzen lässt. Über Profile können sich Entwicklerinnen und Entwickler mit jeweils der gewünschten Umgebung verbinden, um einen Rebuild von Anwendungen durchzuführen. Die Verbindungen über Profile müssen nur einmal konfiguriert werden und stehen danach für die Automatisierung zur Verfügung. Dadurch können nicht nur lokale Cluster angebunden werden, sondern auch Cloud-Installationen von Kubernetes.
Skaffold ist ein flexibles Tool für die Bereitstellung. Neben der Möglichkeit nahezu alle Aufgaben von erstellen der Builds bis zur Bereitstellung zu übernehmen, lässt sich das Tool auch in bestehende CI/CD-Pipelines integrieren und kann daher auch mit anderen Kubernetes-Tools zusammenarbeiten, die Anwendungen in Kubernetes bereitstellen.
Debuggen von Webanwendungen und Microservices mit Squash
Für das Debuggen von Code, der mit Skaffold anschließend als Aktualisierung in Kubernetes zur Verfügung gestellt wird, kann parallel auch Squash zum Einsatz kommen. Webanwendungen und Anwendungen in Microservices-Umgebungen profitieren von den On-Demand-Testumgebungen, die mit Squash bereitgestellt werden können.
Squash unterstützt verschiedene Vorlagen, Quellen und Repos.
(Bild: Joos / Squash)
Squash unterstützt Go, Node.js oder Python. Wenn neuer Code zum Repository hinzugefügt wurde, kann ein Pull Request erstellt werden. Squash arbeitet in diesem Zusammenhang auch mit Slack, GitHub, BitBucket oder GitLab zusammen und kann Repositories aus diesen Quellen anbinden. Danach startet Squash eine virtuelle Maschine, um den Code bereitzustellen. Dazu muss nur der Link angeklickt werden, den Squash nach dem Pull Request erstellt.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Developer können so auf die Schnelle in einer Live-Umgebung die Auswirkung von neuem Code überprüfen. Der Einsatz von Squash ermöglicht es Entwickler unkompliziert in wenigen Minuten Änderungen im Code zu testen. Funktioniert alles wie erwartet, können die Änderungen über Skaffold im Kubernetes-Cluster bereitgestellt werden. Wer die Umgebung testen will, kann ein kostenloses Konto bei Squash erstellen.
Neue Deployments mit Squash testen.
(Bild: Joos / Squash)
Squash unterstützt Kubernetes nativ, genauso wie Skaffold. Auf dem Cluster sind auch hier keinerlei Änderungen notwendig. Neben YAML-Dateien unterstützt Squash auch Docker-compose. Parallel dazu kann auch nativ auf Kubernetes gesetzt werden. In der Squash-Dokumentation sind dazu zahlreiche Beispiele zu finden. Die Anbindung an Kubernetes erfolgt über die YAML-Datei von Squash. Dazu wird der YAML-Datei von Squash das Feld „deployment_type: kubernetes“ hinzugefügt. Das könnte dann also folgendermaßen aussehen:
Wer ein kostenloses Testkonto bei Squash erstellt hat, kann sein GitHub-Konto verknüpfen und direkt aus dem seinem Repository Anwendungen laden und Testumgebungen erstellen. Dadurch kann schnell ein Überblick zu den Möglichkeiten von Squash gewonnen werden. In Kombination mit Skaffold können die getesteten Anwendungen dann auch gleich mit Skaffold in die CI/CD-Pipeline integriert oder direkt bereitgestellt werden.