Google macht das Deployment-Tool Skaffold für Kubernetes generell verfügbar

Nach Einschätzung der Entwickler hat das vor zwei Jahren gestartete Projekt nun die Reife für eine offizielle Freigabe in Produktivumgebungen erreicht.

In Pocket speichern vorlesen Druckansicht 11 Kommentare lesen
Google macht das Deployment-Tool Skaffold für Kubernetes generell verfügbar

(Bild: Google)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Unter dem Namen Skaffold hat Google vor rund zwei Jahren das Projekt eines neuen Command Line Tool auf den Weg gebracht, das Entwicklern für Continuous Deployment einen komfortablen, automatisierten Zugang zu Produktivumgebungen verschaffen sollte, die bereits mit Kubernetes gemanagt werden. Nach mittlerweile mehr als 5000 Commits von fast 150 Beitragenden am Skaffold-Projekt sind 40 Releases fertiggestellt worden. Das Entwicklerteam hinter Skaffold zeigt sich daher zuversichtlich, dass die Kernfunktionen des Tools nun ausreichend gereift seien, um Skaffold mit dem Status der General Availability (GA) offiziell für den produktiven Einsatz freizugeben.

Skaffold hilft Entwicklern dabei, ihre Build-, Push- und Deployment-Prozesse zu automatisieren. Das Tool kümmert sich im Hintergrund um ein kontinuierliches Update der Applikation. Dazu überwacht skaffold dev sämtliche Quellcodedateien der Anwendung und stößt gegebenenfalls erforderliche Rebuilds (skaffold build) und Redeployments (skaffold deploy) an. Alternativ lassen sich mit skaffold render auch Applikations-Images anlegen, um Templates für eine Kubernetes-Manifest-Datei anzulegen, die sich in GitOps-Workflows integrieren lässt.

Entwicklern stehen zudem Profile zur Verfügung, um eine Skaffold-Konfiguration in unterschiedlichen Umgebungen nutzen zu können. In den Profilen sind lediglich die spezifischen Anpassungen an den jeweiligen Kubernetes-Kontext anzugeben. Dann lassen sich auf der Basis einer zentralen Skaffold-Konfiguration alle Images und Applikationen in verschiedenen Umgebungen verwenden.

Skaffolds interne Entwicklungsschleifen

(Bild: Google)

Skaffold wickelt nahezu den kompletten Workflow ab, beginnend mit dem Build und anschließenden Upload eines Image in die passende, aktivierte Registry des Kubernetes-Clusters. Dank einer modularen Architektur lässt sich das Tool außerdem in CD/CI-Pipelines integrieren und mit anderen Workflow-Tools kombinieren, um sowohl lokale Kubernetes-Cluster wie Minikube oder Kind oder auch Kubernetes-Cluster in der Cloud zu unterstützen.

In der nun freigegebenen GA-Version gehen die Funktionen von Skaffold aber über das Deployment hinaus. Entwickler können das Tool auch beim Debugging heranziehen. Zu den Programmiersprachen die Skaffold bei der Fehlersuche bereits nativ unterstützt, zählen Go, Node.js, Java und Python. Der Befehl skaffold debug führt die Applikation in einer kontinuierlichen Build-Deploy-Schleife aus und reicht benötigte Debugging-Ports an die lokale Maschine weiter, sodass Entwickler automatisch einen Debugger an ihre Anwendung andocken können.

Skaffold und skaffold debug sind darüber hinaus zentrale Komponenten von Googles Cloud Code. Über die Anbindung von IDEs wie Visual Studio Code oder IntelliJ IDEA bietet Cloud Code Entwicklern eine Umgebung zum Erstellen und Ausführen Cloud-nativer Anwendungen auf Kubernetes.

Weitere Informationen zur freigegebenen GA-Version von Skaffold finden Entwickler im Blogbeitrag zur Ankündigung sowie in der Dokumentation auf GitHub. (map)