Skaffold-Module in Cloud Code für Cloud Shell

Skaffold ist ein Befehlszeilentool, das die kontinuierliche Entwicklung Kubernetes-nativer Anwendungen erleichtert. Skaffold übernimmt den Workflow zum Erstellen, Übertragen und Bereitstellen Ihrer Anwendung und bietet Bausteine zum Erstellen von CI/CD-Pipelines. Skaffold ist die Engine für Cloud Code.

Skaffold-Projekte verwenden in der Regel eine einzelne skaffold.yaml-Konfiguration, um zu beschreiben, wie die Anwendung erstellt und bereitgestellt wird. Wenn ein Projekt wächst, kann es nützlich sein, die Anwendungspipeline in separate Teile aufzuteilen.

Skaffold unterstützt die Definition mehrerer Konfigurationsabhängigkeiten, die entweder zusammen in derselben skaffold.yaml-Datei und durch YAML-Dokumenttrennzeichen (---) getrennt oder in separaten skaffold.yaml-Dateien abgelegt werden, auf die von einer übergeordneten skaffold.yaml-Datei verwiesen wird. Aus einer Konfiguration kann ein Modul erstellt werden. Geben Sie ihr dazu im Feld .metadata.name einen Namen.

Mithilfe von Modulen können Sie Teile der Anwendung unabhängig entwickeln und Fehler beheben. Abhängigkeiten können zwischen Konfigurationsdateien und bestimmten Modulen definiert werden. Eine Anleitung zur Verwendung dieser Funktion finden Sie unter Teile einer Anwendung unabhängig entwickeln.

Fehler in Anwendungen mit Skaffold-Modulen beheben

Sie können die gesamte Anwendung oder eine Reihe von definierten Modulen iterativ entwickeln und Fehler beheben. Skaffold verwaltet die Modulabhängigkeiten und die Reihenfolge der Bereitstellung.

Erste Schritte mit einem Skaffold-Modulbeispiel

Informationen zum Auswählen von Modulen für Ihre Anwendung finden Sie unter Auswählen Skaffold-Module und ihre Abhängigkeiten erstellen.

Wenn Sie keine Skaffold-Module verwendet haben und das Feature mit einem Beispiel testen möchten, finden Sie weitere Informationen unter:Gästebuchbeispiel, das modularisiert ist infrontend undbackend.

Ein großes Anwendungsbeispiel für Unternehmen, das mit verschiedenen Technologien und Sprachen entwickelt wurde und Skaffold-Module verwendet, finden Sie im Beispiel für Bank of Anthos.

Gängige Anwendungsfälle

In diesem Abschnitt werden einige gängige Anwendungsfälle beschrieben, die verschiedene Szenarien zeigen, wann und wie Sie Module in Ihrer IDE verwenden können.

Entwicklung von Mikrodiensten

Sie sind ein Frontend-Entwickler, der hauptsächlich am frontend-Modul arbeitet. Als Mikrodienst hat frontend keine explizite Code- oder Bibliotheksabhängigkeit für das backend-Repository, erfordert aber die Bereitstellung und Ausführung von backend im Cluster.

Sie verwenden Ihr Skaffold-basiertes Projekt, das eine frontend-Moduldefinition enthält, um eine Cloud Code-IDE in einem freigegebenen Entwicklungscluster bereitzustellen und Fehler zu beheben, in dem das Backend-Team auch seinen Dienst bereitstellt. Das DevOps-Team verwaltet diesen freigegebenen Cluster.

Sie arbeiten meistens nicht mit backend-Code oder beheben Fehler oder aktualisieren Kubernetes-Konfigurationen. Skaffold erstellt und stellt andere Konfigurationen bereit, die für frontend erforderlich sind. Sie konfigurieren die Cloud Code-Bereitstellungskonfiguration so, dass sie nur im Modul frontend iteriert.

Sie können auch frontend und backend in einem lokalen Cluster bereitstellen, um eine schnellere iterative Erfahrung zu erhalten.

Grenzübergreifende Mikrodienstentwicklung und -Fehlerbehebung

Wenn mehrere Fehler zusammen behoben werden müssen, können Sie:

  • Das übergeordnete Verzeichnis, in dem sich alle Unterverzeichnisse mit dem Quellcode des Moduls relativ zueinander befinden, öffnen.
  • Wählen Sie die skaffold.yaml-Stammdatei für die Bereitstellung aus (Konfigurationen)
  • Konfigurieren Sie die Cloud Code-Bereitstellungskonfiguration so, dass sie nur auf die lokal verfügbaren Module frontend und backend und auf deren jeweiliges Kubernetes-Konfigurationsmodul iteriert, wenn Änderungen vorhanden sind.

Sie können auch eine separate skaffold.yaml-Stammdatei für die lokale Entwicklung haben, die einen statischen Datenserver enthält.

YAML-Bearbeitung von intelligenten Modulen

Sie sind DevOps-Entwickler und erstellen ein Vorlagen-Repository für das Team von Mikrodienstentwicklern, die Skaffold-Module verwenden. Sie möchten gewährleisten, dass in Moduldefinitionen keine Fehler auftreten, ohne Skaffold manuell auszuführen (z. B. zyklische Abhängigkeiten oder nicht eindeutige Modulnamen). Sie verwenden Cloud Code-IDEs, um Skaffold-YAML-Konfigurationsdateien zu bearbeiten.

Nächste Schritte