Skaffold-Module in Cloud Code für Cloud Shell

Cloud Code für Cloud Shell verwendet `skaffold.yaml`-Konfigurationsdateien, um eine nahtlose Entwicklung von Kubernetes-Anwendungen zu ermöglichen. Dabei werden viele Aufgaben automatisiert, die beim Erstellen und Bereitstellen von Kubernetes-Anwendungen anfallen. So kann Cloud Code den Workflow zum Erstellen, Übertragen und Bereitstellen Ihrer Anwendung übernehmen und bietet Bausteine zum Erstellen von CI/CD-Pipelines.

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.

Cloud Code unterstützt die Definition mehrerer Konfigurationsabhängigkeiten, die entweder in derselben skaffold.yaml-Datei gespeichert und mithilfe von YAML-Dokumenttrennzeichen (---) getrennt werden oder die in einer separaten skaffold.yaml-Datei gespeichert werden, auf die in einer übergeordneten skaffold.yaml-Datei verwiesen wird. Eine Konfiguration kann in ein Modul umgewandelt werden. Geben Sie dafür einen Namen im Feld .metadata.name ein.

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 Modulen beheben

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

Erste Schritte mit einem Modulbeispiel

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

Wenn Sie noch keine Module verwendet haben und die Funktion mit einem Beispiel testen möchten, sehen Sie sich das Gästebuchbeispiel an, das in frontend und backend modularisiert ist.

Ein großes Anwendungsbeispiel für Unternehmen, das mit verschiedenen Technologien und Sprachen entwickelt wurde und 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 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. Cloud Code 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.
  • Die Root-Datei skaffold.yaml für die Bereitstellung auswählen (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 Module verwenden. Sie möchten sicherstellen, dass in Moduldefinitionen keine Fehler auftreten. Sie verwenden Cloud Code-IDEs, um skaffold.yaml-Konfigurationsdateien zu bearbeiten.

Nächste Schritte