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. Eine Bereitstellung kann Folgendes enthalten: eine Reihe von Ressourcen in einer Vielzahl von Google Cloud-Diensten. Wann? eine Bereitstellung erstellen, erstellt Deployment Manager alle in den jeweiligen Google Cloud APIs beschrieben.
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 es eine einer vorhandenen Ressource mit denselben Attributen, erwirbt Deployment Manager im Rahmen der Bereitstellung auf diese Ressource zugreifen.Welche Attribute in Deployment Manager überprüft werden, hängt vom Typ Ressource, die Sie erstellen, und kann Folgendes enthalten:
- 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. Falls vorhanden der Ressourcen in Ihrer Konfiguration sind bereits im Projekt vorhanden, Bereitstellung schlägt fehl.ACQUIRE
– In Deployment Manager werden Ressourcen übernommen, die bereits vorhanden sind. mit denselben Kriterien wieCREATE_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
Eine Liste Ihrer Bereitstellungen können Sie in der Google Cloud Console aufrufen. , das API, oder die Google Cloud CLI.
Console
Rufen Sie die Seite Bereitstellungen auf. in der Google Cloud Console.
gcloud
Verwenden Sie mit 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