In diesem Artikel wird beschrieben, wie und warum Skaffold Cloud Deploy verwendet ihn und was Sie tun müssen, damit er für von dir.
Cloud Deploy verwendet Skaffold für Rendering- und Bereitstellungsvorgänge. Sie können sie auch für die lokale Entwicklung, die Erstellung, das Testen und die erweiterten Bereitstellungsfunktionen verwenden. Sie können jedoch Cloud Deploy erfordert nur ein Skaffold Konfiguration, die den zu rendern und anzuwenden.
Was ist Skaffold?
Skaffold ist ein Befehlszeilentool, das die kontinuierliche Entwicklung für Kubernetes-native Anwendungen ermöglicht. Mit Skaffold können Sie Entwicklungsarbeitsbereich zur Verwendung mit Cloud Deploy-Continuous Delivery Pipelines.
Skaffold bietet die folgenden Features:
Sie erhalten eine einzelne Kontrolle über CI/CD-Pipelineaktivitäten (Builds, Rendering, Testbereitstellung usw.).
Es ist als lokales Entwicklungstool nützlich.
Skaffold-Profile ermöglichen die Unterscheidung zwischen verschiedenen Umgebungen mit unterschiedlichen Build-, Test- und Bereitstellungskonfigurationen, die alle in derselben Konfigurationsdatei enthalten sind.
Warum verwendet Cloud Deploy Skaffold?
Google Cloud Deploy verwendet Skaffold, um Renderingtools von der Bereitstellungspipeline zu trennen. Ihre Bereitstellungspipeline definiert einfach den Fortschritt vom Ziel zum Ziel, während die Skaffold-Konfiguration definiert, welche Manifeste wie gerendert werden. Dadurch wird das Manifest-Rendering flexibel, ohne dass sich dies auf die Definition Ihrer Bereitstellungspipeline auswirkt.
Hier sind einige der Vorteile, die Skaffold bietet, wenn Sie es mit Cloud Deploy:
Einfaches Onboarding
Beginnen Sie mit einer lokalen Entwicklungsschleife. Du kannst deine
skaffold.yaml
-Datei freigeben mit Ihrem Team, was für Konsistenz sorgen und neuen Teammitgliedern helfen kann, begonnen.Konsistente Kontrolle über das Rendering über verschiedene Deployment-Ziele hinweg
Sie können Skaffold-Profile mit unterschiedlichem Rendering und unterschiedlicher Bereitstellung für verschiedene Ziele verwenden.
Auswahl von Renderingtools ohne die Definition von Bereitstellungspipelines zu beeinträchtigen
Mit Skaffold kann Cloud Deploy die Bereitstellungspipeline trennen aus den Rendering-Details. Durch diese Trennung können Sie mit Ihren Manifesten experimentieren, ohne die Bereitstellungspipeline zu unterbrechen.
Einheitlicher Rendering-Prozess
Die Renderingquelle sowie Ihre Container werden verwendet, um gerenderte Manifeste zu generieren.
Systemdiagnosen für die Bereitstellung
Sie werden von Skaffold ausgeführt und von Cloud Deploy verwendet.
Wie verwendet Cloud Deploy Skaffold?
Die Rendering-Quelle und Verweise auf Container-Images werden an Cloud Deploy beim Erstellen eines Release.
Im Rahmen der Release-Erstellung werden Cloud Build, das wiederum
skaffold diagnose
undskaffold render
das Manifest oder die Manifeste mithilfe dieser Rendering-Quelle zu rendern. Bilder.Sie können Skaffold-Profile verwenden, um Manifeste zu unterscheiden, die auf verschiedene Ziele angewendet werden.
Cloud Deploy unterstützt statische Skaffold-Module.
Cloud Deploy-Aufrufe während der Bereitstellung
skaffold apply
um das gerenderte Manifest oder die gerenderten Manifeste auf den Zielcluster anzuwenden.Cloud Deploy unterstützt die Verwendung anderer Bereitsteller für die Bereitstellung nicht Ihre Anwendung ausführen, es sei denn, Sie verwenden benutzerdefinierte Ziele. Sie können jedoch Tools wie Helm oder Kustomize als Renderer Weitere Informationen dazu, wie Cloud Deploy kann ohne die Verwendung bestimmter Bereitsteller (wie Helm) bereitgestellt werden. Siehe Dienstarchitektur.
Skaffold für Sie arbeiten lassen
Konfigurieren Sie Skaffold gemäß Ihren Pipelineanforderungen.
Bestimmen Sie die Anforderungen Ihrer Bereitstellungspipeline.
Wie viele Ziele haben Sie? Rendering und Deployment sind für beide identisch. Wenn die Konfiguration für jedes Ziel in Ihrem Fortschritt gleich ist, müssen Sie keine Skaffold-Profile verwenden. Sie benötigen nur die Datei
skaffold.yaml
, in der die zu rendernden Manifeste beschrieben werden.Erstellen Sie gegebenenfalls ein Skaffold-Profil für jedes Ziel.
Definieren Sie diese in der Datei
skaffold.yaml
und binden Sie sie an die Sequenz der Fortschrittspipeline-Definition für die Zustellungspipeline.Weitere Informationen zu Skaffold-Profilen finden Sie in der Skaffold-Dokumentation. Außerdem enthält das Dokument Manifeste in Cloud Deploy verwalten enthält Beispielkonfigurationen für Profil.
Ausführlichkeitsstufe für Skaffold-Logging festlegen
Standardmäßig enthält der Parameter Skaffold-Logging-Ebene ist auf
warn
festgelegt. Sie können dies in der Konfiguration fürdebug
eines Ziels Ausführungsumgebung durch Festlegen vonverbose: true
.
Verbinden Sie Cloud Deploy mit Ihrem CI-System.
Am Ende Ihres CI-Prozesses übergeben Sie die
skaffold.yaml
, die Renderingquelle und die Container-Images, die in das gerenderte Manifest ausgefüllt werden sollen.Optional: Richten Sie Ihre lokale Entwicklungsschleife mit Skaffold ein.
Die Verwendung von Skaffold für die Entwicklung ist optional in Cloud Deploy. Das Einzige, was erforderlich ist, für Cloud Deploy ist eine
skaffold.yaml
-Datei, die identifiziert Manifeste, die gerendert werden sollen.
Nächste Schritte
Besuchen Sie die Skaffold-Website, um zu erfahren, wie das funktioniert und was es für Sie tun kann.
Weitere Informationen zu Cloud Deploy die zu verwendende Skaffold-Version auswählt, wann sich die Skaffold-Version ändert um zu ermitteln, welche Version derzeit verwendet wird.
Informationen zur Verwendung von Skaffold in Verbindung mit erweiterten Tools zur Manifestverwaltung wie Helm, Kustomize und kpt.