Gleichzeitig auf mehreren Zielen bereitstellen

Mit Cloud Deploy können Sie eine Bereitstellung auf einem Ziel ausführen, das so konfiguriert ist, dass es mehrere Ziele darstellt. Ihre Anwendung wird parallel (gleichzeitig) auf diesen Zielen bereitgestellt. Das Ziel, das Sie als Phase in Ihrer Pipeline identifizieren, wird als Multi-Target bezeichnet. Die Ziele, aus denen das Multi-Target besteht, werden als untergeordnete Ziele bezeichnet.

Sie können die parallele Bereitstellung mit jedem Zieltyp verwenden, der von Cloud Deploy unterstützt wird.

Vorteile der parallelen Bereitstellung

Sie können die parallele Bereitstellung beispielsweise verwenden, um Ihre Anwendung auf mehreren Produktionszielen bereitzustellen. In diesem Fall müssen Sie die Bereitstellung nicht nacheinander auf jedem Ziel ausführen, da es keine Progression gibt (z. B. von der Entwicklung über die Staging- zur Produktionsumgebung).

Diese parallele Bereitstellung kann Teil einer normalen Lieferpipeline Progression sein:
dev -> staging -> prod [prod1, prod2, prod3, prod4, ...].

Cloud Deploy-Ressourcen für die parallele Bereitstellung

Bei der parallelen Bereitstellung werden die folgenden speziellen Cloud Deploy-Ressourcen verwendet:

  • Multi-Targets

    Ein Multi-Target ist ein Ziel, das mit der Property multiTarget konfiguriert ist, auf der obersten Ebene der Zielkonfigurations-YAML. Anstatt auf den Laufzeitcluster oder -dienst zu verweisen, verweist es mit multiTarget.targetIds auf ein oder mehrere andere Ziele.

  • Untergeordnete Ziele

    Ein untergeordnetes Ziel ist jedes Ziel, auf das von einem Multi-Target als multiTarget.targetIds verwiesen wird.

  • Controller-Roll-outs

    Ein Controller-Roll-out ist ein Roll-out, das dem Multi-Target entspricht.

    Weitere Informationen zu den Möglichkeiten und Einschränkungen bei der Verwendung eines Controller-Roll-outs finden Sie unter Beschränkungen.

  • Untergeordnete Roll-outs

    Weitere Informationen zu den Möglichkeiten und Einschränkungen bei der Verwendung eines untergeordneten Roll-outs finden Sie unter Beschränkungen.

Parallele Bereitstellung einrichten

Zum Einrichten der parallelen Bereitstellung müssen Sie ein Multi-Target und die Anzahl der benötigten untergeordneten Ziele definieren (bis zum Limit). Zieldefinitionen sind für alle Ziele gleich, mit Ausnahme der folgenden:

  • Multi-Targets enthalten die Property multiTarget.
  • Untergeordnete Ziele enthalten nicht die Property multiTarget, sondern werden vom Multi-Target mit der Property multiTarget.targetIds referenziert.
  • Sie können das Multi-Target für die Genehmigung konfigurieren, nicht aber die untergeordneten Ziele, die nicht requireApproval:true enthalten können.

Multi-Targets und untergeordnete Ziele können benutzerdefinierte Ausführungsumgebung konfigurationen enthalten. Wenn für ein untergeordnetes Ziel keine Ausführungsumgebung angegeben ist, wird die in der Multi-Target-Definition definierte oder die Standardumgebung übernommen. Weitere Informationen finden Sie unter Ausführungsumgebungen und parallele Bereitstellung.

Multi-Target konfigurieren

Ein Multi-Target ist ein einzelnes Ziel, das als Phase in Ihrer Lieferpipeline identifiziert wird, aber auf ein oder mehrere untergeordnete Ziele verweist.

Die Multi-Target-Konfiguration enthält die Property multiTarget. Ein Multi-Target kann nicht die Properties gke, run oder anthosCluster haben. Die Konfiguration für ein Multi-Target ist unabhängig davon, in welcher Laufzeitumgebung Sie die Bereitstellung ausführen.

Erstellen Sie in der YAML-Datei Ihrer Lieferpipeline oder in einer separaten YAML-Datei die grundlegende Zieldefinition, einschließlich multiTarget:

apiVersion: deploy.cloud.google.com/v1
kind: Target
metadata:
 name: TARGET_NAME
description: TARGET_DESCRIPTION
multiTarget:
 targetIds: [ CHILD_TARGET1, CHILD_TARGET2, CHILD_TARGETn ]

In dieser YAML-Datei...