Google Cloud Deployment Manager 是 Google Cloud 提供的一种基础设施即代码(Infrastructure as Code, IaC)工具。它可帮助您用声明式配置文件(模板)来自动化部署、管理和维护云资源,实现高效、一致的资源管理。下面,我们一起来看看如何通过模板进行操作吧!🚀
模板是用 YAML、Jinja2 或 Python 格式编写的配置文件,用于描述需要创建的云资源及其属性。以 YAML 文件为例,您可以在其中定义虚拟机、存储、网络等多种资源,一次部署完成全部配置。
vm.yaml)描述了要创建一个虚拟机实例:
resources:
- name: example-vm
type: compute.v1.instance
properties:
zone: us-central1-f
machineType: zones/us-central1-f/machineTypes/f1-micro
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: projects/debian-cloud/global/images/family/debian-10
networkInterfaces:
- network: global/networks/default
# vm-template.jinja
resources:
- name: {{ env["name"] }}
type: compute.v1.instance
properties:
zone: {{ properties["zone"] }}
machineType: {{ properties["machineType"] }}
...
在 YAML 配置中引用模板并传递参数:
resources:
- name: example-vm
type: vm-template.jinja
properties:
zone: us-central1-f
machineType: zones/us-central1-f/machineTypes/e2-medium
gcloud deployment-manager deployments create my-deployment --config vm.yaml
这样就会根据模板自动创建所有资源啦!
gcloud deployment-manager deployments update my-deployment --config vm.yaml
如需清理资源,直接删除即可:
gcloud deployment-manager deployments delete my-deployment
使用 Google Cloud Deployment Manager 的模板功能,能够轻松实现云资源的声明式配置、自动化部署和统一管理。借助参数化、模块化和代码托管,可以大幅提升开发效率和资源可维护性,是现代云工程师的得力工具!🌈