Google Deployment Manager
Manage Google Cloud resources as a deployment :
You can use Google Cloud Deployment Manager to create a set of Google Cloud resources and manage them as a unit, called a deployment. For example, if your team's development environment needs two virtual machines (VMs) and a BigQuery database, you can define these resources in a configuration file, and use Deployment Manager to create, change, or delete these resources. You can make the configuration file part of your team's code repository, so that anyone can create the same environment with consistent results.
Before you begin
- If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers get $300 in free credits to run, test, and deploy workloads.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Make sure that billing is enabled for your Google Cloud project.
Enable the Deployment Manager and Compute Engine APIs.
- On your workstation, install the Google Cloud CLI.
- Configure the Google Cloud CLI to use your project. In the following command, replace
[MY_PROJECT]
with your project ID:
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.
This basic configuration file describes a deployment that contains one virtual machine instance with the following properties:
- Machine type:
f1-micro
- Image family:
debian-9
- Zone:
us-central1-f
- Root persistent disk:
boot
- A randomly assigned external IP address
- Machine type:
Replace all instances of
[MY_PROJECT]
with your project ID.Save the file as
vm.yaml
.
Deploy the resources
To deploy your resources, use the Google Cloud CLI to create a new deployment, using your configuration file:
If the deployment is successful, you receive a message similar to the following example:
You now have your first deployment!
Check on your new deployment
To check the status of the deployment, run the following command:
You see a description of the deployment, including its start and end time, the resources created, and any warnings or errors:
Review your resources
After you have created the deployment, you can review your resources in Google Cloud console.
To see a list of your deployments, open 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.
Clean up
To avoid incurring charges to your Google Cloud account for the resources used on this page, follow these steps.
Type y
at the prompt:
The deployment and the resources you created are permanently deleted.
Tips and troubleshooting :
The following sections might help you if you run into problems while using Deployment Manager.
Common errors during deployments
The errors that you see in your deployments are in the following format:
The types of errors you might commonly see are described in the following sections.
Resource errors (code: RESOURCE_ ERROR
)
Resource errors are propagated from the underlying APIs for the resources that you are managing with Deployment Manager. For example, if your deployment has a Compute Engine VM instance, and there was an error creating the instance, you see that error as a resource error in Deployment Manager.
In the Deployment Manager response, you can see the error from the underlying API in the message.ResourceErrorCode
and message.ResourceErrorMessage
fields.
Validation errors (code: CONDITION_ NOT_ MET
)
You get a validation error when a field in your configuration fails validation, such as if it uses a string value when a boolean is expected.
Dependency loops (code: CYCLIC_ REFERENCES
)
Indicates that your configuration has a dependency loop. For example, if resource A depends on resource B, B depends on C, and C depends on A.
The error message shows the resources that are in the dependency loop.
You might see dependencies in resources in the following scenarios:
A reference to a property of another resource. For example, if your deployment has an instance group manager that uses an instance template from the same deployment, the instance group manager implicitly depends on the instance template. Deployment Manager creates the instance template first, then creates the instance group manager.
An explicit
dependsOn
property, which indicates that the current resource must be created after the resource it depends on.
To resolve the error, change the references or dependsOn
properties so that the loop is broken.
Errors while expanding your templates
Your templates are limited in the amount of time and resources that Deployment Manager uses to expand the templates into a single configuration.
You might see one of the following errors:
MANIFEST_EXPANSION_TOO_MUCH_CPU
: Expanding the configuration took too much CPU.MANIFEST_EXPANSION_TOO_MUCH_MEMORY
: Expanding the configuration took too much memory.MANIFEST_EXPANSION_TOO_MUCH_WALL_TIME
: Expanding the configuration took too much time.MANIFEST_EXPANSION_USER_ERROR
: There was an error in your configuration or one of your templates.
MANIFEST_EXPANSION_TOO_MUCH_CPU
and MANIFEST_EXPANSION_TOO_MUCH_MEMORY
might indicate that your templates might have complex structures involving recursion, or too many loops.
To resolve these errors, consider splitting your templates into smaller templates, or simplifying your templates.
Comments
Post a Comment