Logo
Section 1 / 2

部署管理器入门

部署管理器简介

导入

部署管理器入门

部署管理器简介

我们已经了解了云计算提供的所有 IaaS、PaaS 和 SaaS 服务。接下来要介绍的是如何自动化创建这些服务。Cloud Deployment Manager 提供了通过代码创建资源的功能。下面我们来深入了解。

简介

Google Cloud Deployment Manager 允许你使用 YAML 文件以声明式的方式定义应用程序所需的所有资源。

你还可以使用 Python 或 Jinja2 模板对配置进行参数化,从而复用常见的部署模式,例如负载均衡、自动扩缩的实例组。

将你的配置视为代码,实现可重复的部署流程。

Deployment Manager API

要使用 Deployment Manager,请打开主菜单 > 工具 > Deployment Manager > 部署。

如果你尚未启用“Deployment Manager API”,系统会提示你先启用该 API。目前仪表板为空,因为我们还未创建任何部署。

Course Image

部署(deployment)还确保在任意时刻,资源及其状态始终保持一致。例如,若你通过 Deployment Manager 创建了一台虚拟机,则不能直接删除该虚拟机,必须通过删除或修改部署本身才能完成。

基础概念

部署脚本由多个组件构成,每个部分都有其特定术语。下面我们来看 Deployment Manager 脚本的基本构成要素。

以下是一个创建单个虚拟机的示例脚本,这类脚本称为 Deployment。

1resources: 2- name: the-first-vm 3 type: compute.v1.instance 4 properties: 5 zone: us-central1-a 6 machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/f1-micro 7 disks: 8 - deviceName: boot 9 type: PERSISTENT 10 boot: true 11 autoDelete: true 12 initializeParams: 13 sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20150423 14 networkInterfaces: 15 - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default 16 accessConfigs: 17 - name: External NAT 18 type: ONE_TO_ONE_NAT

资源(Resource)

资源代表一个具体的 API 资源,可以是 Google 管理的基础类型提供的 API 资源,也可以是由类型提供程序(Type Provider)提供的资源。

例如,这里的 Compute Engine 实例 就是一个单一资源。资源包含多种元数据信息。

1resources: 2- name: the-first-vm 3 type: compute.v1.instance

类型(Type)

类型用于描述资源所属的服务种类。在此文件中,type 字段指定了来自 compute API 的资源类型。其格式为 [API].[版本].[资源]。

1 type: compute.v1.instance

清单(Manifest)

最后,Manifest 文件是当前部署的只读主配置文件。它包含了用户定义的资源和配置,以及 Deployment Manager 为支持资源创建而自动生成的其他资源信息。

部署(deployment)这一概念也被 GKE 和实例组用于始终维持集群节点数量符合预设要求。

实验

完成以下实验,快速掌握 Deployment Manager 的基本用法:

  • Deployment Manager 快速入门

实验将引导你在 GCP 环境中逐步操作,当前使用的是 Cloud Shell Editor。

请按照右侧窗格中的说明进行操作。

完成实验后,进入下一课,我们将使用 Cloud Launcher(现为 Cloud Marketplace)部署 WordPress,并查看已部署 WordPress 解决方案的 Manifest 文件。

监控与日志记录

使用云市场部署 WordPress