Bei der Entwicklung einer Anwendung benötigen Sie höchstwahrscheinlich komplexe Architekturen. Damit Sie Ihre Bereitstellung einfacher replizieren und Probleme leichter beheben können, empfehlen wir, Ihre Konfiguration in Vorlagen aufzuteilen.
Eine Vorlage ist eine separate Datei, mit der eine Reihe von Ressourcen definiert wird. Sie können Vorlagen in verschiedenen Bereitstellungen wiederverwenden, wodurch bei komplexen Bereitstellungen für Konsistenz gesorgt wird.
Zur Erstellung von Vorlagen für Deployment Manager können Sie Python oder Jinja2 verwenden. Wir empfehlen die Verwendung von Python-Vorlagen, da Python mehr Flexibilität und mehr Features für das Skalieren Ihrer Anwendung bietet.
Python-Vorlagen
Wenn Sie Vorlagen in Python schreiben, müssen diese folgende Anforderungen erfüllen:
Die Vorlage muss in Python 3.x geschrieben sein.
Die Vorlage muss eine Methode mit dem Namen
GenerateConfig(context)
odergenerate_config(context)
definieren. Wenn Sie beide Methodennamen in derselben Vorlage verwenden, hat die Methodegenerate_config()
Vorrang.Das
context
-Objekt enthält Metadaten über die Bereitstellung und Ihre Umgebung, z. B. den Namen der Bereitstellung, das aktuelle Projekt usw. Diese implementierungsspezifischen Variablen werden in späteren Schritten verwendet.Die Methode muss ein Python-Wörterbuch zurückgeben.
Beispielvorlagen untersuchen
Öffnen Sie vm-template.py
im Beispiel-Repository:
cd deploymentmanager-samples/examples/v2/step_by_step_guide/step5_create_a_template/python
nano vm-template.py # use your preferred text editor
Diese Vorlage definiert die erste virtuelle Maschine (VM) aus den vorherigen Beispielen:
Öffnen Sie die zweite Vorlage, vm-template-2.py
, die die zweite VM definiert:
Ersetzen Sie in beiden Vorlagen MY_PROJECT durch Ihre Projekt-ID.
Vorlagen importieren
Nach der Erstellung von Vorlagen müssen Sie diese in Ihre Konfiguration importieren. Öffnen Sie die neue two-vms.yaml
:
cd deploymentmanager-samples/examples/v2/step_by_step_guide/step5_create_a_template/python
nano two-vms.yaml # use your preferred text editor
Diese Konfigurationsdatei enthält einen neuen imports
-Abschnitt, der die beiden VM-Vorlagen vm-template.py
und vm-template-2.py
aufruft:
Hinweis zu Ressourcennamen
Wenn Sie eine Vorlage verwenden, werden die Namen Ihrer Ressourcen nicht mit dem Namen in der Konfigurationsdatei definiert, sondern mit dem Feld name
in der Vorlage.
In diesem Fall werden die VM-Instanzen beispielsweise mit den Namen in den Vorlagen (the-first-vm
und the-second-vm
) erstellt. Die in der Konfiguration definierten Werte vm-1
und vm-2
werden verwendet, um eine Instantiierung der Vorlage zu benennen, sind jedoch keine Ressourcennamen.
Konfiguration speichern und bereitstellen
Führen Sie den folgenden Befehl aus, um die Konfiguration bereitzustellen:
gcloud deployment-manager deployments create deployment-with-templates --config two-vms.yaml
Führen Sie den folgenden Befehl aus, um sich Ihre Bereitstellung anzusehen:
gcloud deployment-manager deployments describe deployment-with-templates
Nächstes Thema: Verwendung mehrerer Vorlagen
Im nächsten Schritt kombinieren Sie Vorlagen, sodass Ihre Konfiguration nur eine Vorlage aufruft, um alle Ihre Ressourcen bereitzustellen.
Bereitstellung löschen
Bevor Sie fortfahren, sollten Sie die Bereitstellung löschen, um Kosten zu vermeiden. Diese Bereitstellung benötigen Sie für den nächsten Schritt nicht. Führen Sie den folgenden Befehl aus, um die Bereitstellung zu löschen:
gcloud deployment-manager deployments delete deployment-with-templates