In this quickstart, you use Google Cloud Deployment Manager to deploy a virtual machine instance. The virtual machine is a resource, which you add to a deployment configuration file. After you create a configuration file, you use it to create a deployment, which is a collection of resources that you can create or manage together.
Your deployments can contain dozens of resources from various Google Cloud services, and you use Deployment Manager to manage them from a single file.
This quickstart walks you through creating a basic configuration file, and using that file to create a deployment. To complete this tutorial, you must be comfortable running commands in a Linux, macOS, or Windows terminal.
You can follow the quickstart in Cloud Shell, where you can edit the sample configuration, and deploy your resources without installing anything on your computer. If you want to follow the tutorial on your own computer, skip to the next section.
Before you begin
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
Select or create a Google Cloud Platform project.
Make sure that billing is enabled for your Google Cloud Platform project.
- Enable the Deployment Manager and Compute Engine APIs.
- On your workstation, install the
- Configure the
gcloudcommand-line tool to use your project. In the following command, replace
[MY_PROJECT]with your project ID:
gcloud config set project [MY_PROJECT]
Define your resources
You describe your resources in a configuration file, which is written in the YAML syntax.
Copy the sample configuration below, and paste it into a text editor.
# Copyright 2016 Google Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Put all your resources under `resources:`. For each resource, you need: # - The type of resource. In this example, the type is a Compute VM instance. # - An internal name for the resource. # - The properties for the resource. In this example, for VM instances, you add # the machine type, a boot disk, network information, and so on. # # For a list of supported resources, # see https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types. resources: - type: compute.v1.instance name: quickstart-deployment-vm properties: # The properties of the resource depend on the type of resource. For a list # of properties, see the API reference for the resource. zone: us-central1-f # Replace [MY_PROJECT] with your project ID machineType: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/zones/us-central1-f/machineTypes/f1-micro disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true initializeParams: # Replace [IMAGE_PROJECT] with the image project, such as `debian-cloud` # Replace [FAMILY_NAME] with the image family name. # See a full list of image families at https://cloud.google.com/compute/docs/images#os-compute-support sourceImage: https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[FAMILY_NAME] # Replace [MY_PROJECT] with your project ID networkInterfaces: - network: https://www.googleapis.com/compute/v1/projects/[MY_PROJECT]/global/networks/default # Access Config required to give the instance a public IP address accessConfigs: - name: External NAT type: ONE_TO_ONE_NAT
This basic configuration file describes a deployment that contains one virtual machine instance with the following properties:
- Machine type:
- Image family:
- Root persistent disk:
- A randomly assigned external IP address
- Machine type:
Replace the following placeholder variables:
[MY_PROJECT]with your project ID
[FAMILY_NAME]with the image family
[IMAGE_PROJECT]with the project
debian-cloud. The project name is typically
[DISTRIBUTION]-cloud. For example, the project for CentOS images is
Save the file as
Deploy the resources
To deploy your resources, use the
gcloud command-line tool to create a new
deployment, using your configuration file:
gcloud deployment-manager deployments create quickstart-deployment --config vm.yaml
If the deployment is successful, you receive a message similar to the following example:
Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully. NAME TYPE STATE ERRORS quickstart-deployment compute.v1.instance COMPLETED -
You now have your first deployment!
Check on your new deployment
To check the status of the deployment, run the following command:
gcloud deployment-manager deployments describe quickstart-deployment
You see a description of the deployment, including its start and end time, the resources created, and any warnings or errors:
fingerprint: xmVVeTtPq-5rr8F-vWFlrg== id: '54660732508021769' insertTime: '2016-03-09T04:45:26.032-08:00' manifest: https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/my-first-deployment/manifests/manifest-1457527526037 name: quickstart-deployment operation: endTime: '2016-03-09T04:46:19.480-08:00' id: '8993923014899639305' kind: deploymentmanager#operation name: operation-1457527525951-52d9d126f4618-f1ca6e72-3404bd3b operationType: insert progress: 100 startTime: '2016-03-09T04:45:27.275-08:00' status: DONE ... resources: NAME TYPE STATE ERRORS quickstart-deployment-vm compute.v1.instance COMPLETED -
Review your resources
After you have created the deployment, you can review your resources in the Cloud console.
To see a list of your deployments, open the Deployment Manager page in the console. Go to the Deployment Manager page
To see the resources in the deployment, click quickstart-deployment. The deployment overview opens, with information about the deployment, and the resources that are part of the deployment.
To see information about your VM, click quickstart-deployment-vm.
To avoid incurring charges to your GCP account for the resources used in this quickstart:
gcloud deployment-manager deployments delete quickstart-deployment
y at the prompt:
The following deployments will be deleted: - quickstart-deployment Do you want to continue (y/N)?
The deployment and the resources you created are permanently deleted.