Auf dieser Seite wird beschrieben, wie Sie eine Bereitstellung erstellen. Ein Deployment ist eine Instanziierung einer Reihe von Ressourcen, die in einer Konfiguration definiert sind. Geben Sie eine gültige Konfiguration in der Anfrage an, um das Deployment zu erstellen. Ein Deployment kann eine Anzahl von Ressourcen von einer Vielzahl an Google Cloud-Diensten beinhalten. Wenn Sie ein Deployment erstellen, erstellt Deployment Manager alle beschriebenen Ressourcen in den jeweiligen Google Cloud APIs.
Hinweise
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie das gcloud-Befehlszeilentool.
- Wenn Sie die API-Beispiele in dieser Anleitung verwenden möchten, richten Sie den API-Zugriff ein.
- Erstellen Sie eine Konfiguration.
Bereitstellung erstellen
Wenn Sie eine Bereitstellung erstellen, erstellen Sie eine Bereitstellungsressource, die eine Sammlung an Ressourcen beinhaltet. Jede Ressource ist explizit in einer Konfiguration definiert, die Sie mit der Anfrage angeben.
gcloud
Verwenden Sie in der Google Cloud CLI den Befehl deployments create
:
gcloud deployment-manager deployments create my-first-deployment \
--config vm.yaml
Das Flag --config
ist ein relativer Pfad zu Ihrer YAML-Konfigurationsdatei.
Wenn Ihre Konfiguration Ressourcen enthält, die sich bereits in Ihrem Projekt befinden, werden diese Ressourcen standardmäßig vom Deployment übernommen und können mithilfe des Deployments verwaltet werden. Wenn Sie keine Ressource übernehmen möchten, müssen Sie wie im folgenden gcloud beta
-Befehl die Option --create-policy
verwenden:
gcloud beta deployment-manager deployments create my-first-deployment \
--config vm.yaml --create-policy CREATE
Informationen zu den Richtlinien, die Sie beim Erstellen von Deployments verwenden können, finden Sie unter Richtlinie zum Erstellen von Ressourcen festlegen.
Wenn Ihre Bereitstellung erfolgreich erstellt wurde, können Sie eine Beschreibung Ihrer Bereitstellung erhalten.
gcloud deployment-manager deployments describe my-first-deployment
API
Stellen Sie in der API eine insert()
-Anfrage und geben Sie im Anfragetext die Konfiguration an:
POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments
{
"name": "example-config-with-templates",
"target": {
"config": {
"content": "resources:\n- name: vm-created-by-cloud-config\n type: compute.v1.instance\n properties:\n zone: us-central1-a\n machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n diskName: disk-created-by-cloud-config\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20151104\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\n"
}
}
}
Wenn Sie Vorlagen importieren, müssen Sie auch diese Vorlagen als Teil des Anfragetexts angeben. Beispiel: Die folgende API-Anfrage importiert eine Vorlage mit dem Namen vm_template.jinja
als target
:
POST https://www-www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments
{
"name": "my-example-config-with-templates-2",
"target": {
"config": {
"content": "imports:\n- path: vm_template.jinja\n\nresources:\n- name: my-vm\n type: vm_template.jinja"
},
"imports": [
{
"content": "resources:\n- name: vm-created-by-cloud-config\n type: compute.v1.instance\n properties:\n zone: us-central1-a\n machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n diskName: disk-created-by-cloud-config\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20151104\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default",
"name": "vm_template.jinja"
}
]
}
}
Richtlinie zum Erstellen von Ressourcen festlegen
Wenn Sie ein neues Deployment erstellen und eine zu erstellende Ressource bereits in Ihrem Projekt vorhanden ist, wird diese vom Deployment übernommen.
In diesem Fall wird in Deployment Manager keine neue Ressource erstellt.
Falls Sie die vorhandene Ressource nicht übernehmen möchten, verwenden Sie in Ihrer Konfiguration die Richtlinie CREATE
für das Deployment.
Sie können zum Erstellen der Ressourcen die folgenden Richtlinien verwenden:
CREATE_OR_ACQUIRE
: [Standard] Deployment Manager übernimmt im Projekt vorhandene Ressourcen oder erstellt neue Ressourcen, wenn es sie noch nicht gibt. Zur Übernahme einer Ressource überprüft Deployment Manager Ihre Konfiguration auf die Attribute der Ressource, die Sie erstellen möchten. Wenn eine Ressource mit diesen Attributen bereits vorhanden ist, übernimmt Deployment Manager diese Ressource in Ihr Deployment.Welche Attribute vom Deployment Manager überprüft werden, hängt vom Typ der Ressource ab, die Sie erstellen. Beispielsweise sind folgende möglich:
- Der
name
der Ressource - Der
type
der Ressource - Die
zone
oderregion
der Ressource, sofern zutreffend
Die Attribute sind Teil der URL für die API-Anfrage
GET
für die Ressource. Welche Attribute Deployment Manager für die Übernahme einer Ressource verwendet, ist in der API-Dokumentation für die MethodeGET
der Ressource aufgeführt. Für Compute Engine-Instanzen umfasst die Anfrage-URL für die Methodeinstances.get
dieresourceId
(name
in Ihrer Konfiguration), diezone
und dasproject
.- Der
CREATE
: In Deployment Manager werden noch nicht vorhandene Ressourcen erstellt. Wenn eine Ressource in Ihrer Konfiguration bereits im Projekt vorhanden ist, schlägt das Deployment fehl.ACQUIRE
: In Deployment Manager werden Ressourcen übernommen, die bereits vorhanden sind. Es gelten die gleichen Kriterien wie fürCREATE_OR_ACQUIRE
.Wenn Ihr Projekt bereits Ressourcen enthält, die Sie zusammen als ein Deployment verwalten möchten, verwenden Sie die Richtlinie
ACQUIRE
.Sie müssen in Ihrer Vorlage oder Konfiguration die erforderlichen Attribute für diese Ressourcen wie bei einer Erstellung angeben. Wenn eine der Ressourcen in der Konfiguration noch nicht im Projekt vorhanden ist, schlägt das Deployment fehl.
Ihre Deployments auflisten
Sie können sich eine Liste Ihrer Deployments mithilfe der Google Cloud Console, der API oder der Google Cloud CLI ansehen.
Console
Rufen Sie in der Google Cloud Console die Seite Deployments auf.
gcloud
Verwenden Sie in der Google Cloud CLI den Unterbefehl deployments list
:
gcloud deployment-manager deployments list
API
Stellen Sie in der API eine leere GET
-Anfrage an die Deployments-Sammlung:
GET https://www.googleapis.com/deploymentmanager/v2beta1/projects/myproject/global/deployments