为 Deployment Manager 部署配置虚拟机映像

如果您选择选择支持使用 Deployment Manager 部署虚拟机产品,则必须完成以下步骤。

确定如何创建部署包

我们建议您使用 Producer Portal 的引导式配置选项,直接在 Google Cloud 控制台中创建部署包。

引导式配置支持简单的虚拟机产品,例如具有基本防火墙规则的单虚拟机部署,但不支持一些复杂的功能,例如具有多个虚拟机和自定义配置字段的部署。如果您需要引导式配置不支持的功能,则可以使用开源 mpdev 工具创建部署软件包或通过向其添加额外功能来自定义现有部署软件包。

如果您并未使用 Google Cloud 控制台或没有将 Deployment Manager Autogen 工具与 Cloud Marketplace 搭配使用,那么我们不建议您使用您创建的自定义部署模板。我们建议您直接在 Google Cloud 控制台中创建部署软件包。

在引导式配置和手动配置之间切换

如果您使用 Producer Portal 的引导式配置选项,并且稍后想要切换为手动配置部署包,请点击 Go to manually configuration(转到手动配置)。

进行切换时,您可以下载您在引导式配置中创建的部署软件包的 Autogen 规范,以用作手动配置的基础。

完成引导式配置

如需使用 Google Cloud 控制台完成配置并提交简单的部署包,请完成以下步骤:

  1. 在 Producer Portal 中,转到 Deployment package 部分。

  2. Deployment Manager 配置下,点击标记为 Cloud Storage 存储分区的输入字段旁边的浏览

    如果您已创建 Cloud Storage 存储桶,请在此处选择。

    如果您没有 Cloud Storage 存储桶,请点击标有创建新存储桶的图标。创建新存储桶时,您需要执行以下操作:

    • 为存储桶选择名称。
    • 指定存储桶在其中存储数据的一个或多个区域。
    • 指定数据的存储类别。
    • 确定要针对存储桶的数据应用 Identity and Access Management (IAM) 权限的粒度级别。
    • 配置可选的高级设置,例如加密或数据保留政策。
  3. 确保为 Cloud Storage 存储桶启用对象版本控制

  4. 如需保存存储桶设置并继续配置部署包,请点击配置

  5. 选择机器类型下,您必须为虚拟机产品指定默认可用区最小机器类型默认机器类型,及其启动磁盘的大小和类型。

  6. 指定操作系统下,您必须指定虚拟机映像使用的操作系统的名称和版本,以及虚拟机映像的版本号。

  7. (可选)在设置虚拟机访问权限下,您可以指定网站网址和管理员网址,以及用户名和密码,供用户在部署后用于访问虚拟机。

  8. (可选)在配置网络下,您可以指定 IP 转发的设置并配置防火墙规则。

  9. (可选)在定义后续步骤下,您可以为产品用户提供说明,指导他们开始使用您的产品。他们将在部署您的产品后看到这些说明。

  10. 完成上述步骤后,点击生成以创建部署包。

    如果您稍后需要对部署包进行其他更改,可以点击修改进行更改,然后点击生成以重新生成已应用这些更改的部署包。

    如果您打算切换到手动配置,可以点击下载以下载您在引导式配置中创建的部署包的 Autogen 规范,以作为手动配置的基础。

  11. 在 Producer Portal 中提交部署包以供审核。在您提交文件包后,Google 最多可能需要两周时间来审核并批准文件包。

完成手动配置

本部分介绍了如何使用 mpdev 工具创建部署包并提交部署包以供审核。

mpdev 工具使用 Deployment Manager Autogen 为部署软件包生成 Deployment Manager 模板。该工具会根据包含虚拟机产品的配置输入的 Autogen 规范生成部署软件包。

概括来讲,如需生成和提交部署包,您必须执行以下操作:

  1. 创建并配置 Cloud Storage 存储桶,以存储和管理对部署包的访问权限。
  2. 创建 Autogen 规范,以包含虚拟机产品的映像详细信息和部署要求。
  3. 根据您的 Autogen 规范生成部署包,并将该部署包上传到 Cloud Storage 存储桶。
  4. 在 Producer Portal 中提交部署包以供审核。在您提交软件包后,Google 最多可能需要两周时间来审核并批准该软件包。

以下部分介绍如何完成生成和提交部署包的步骤。

准备工作

如果您使用 mpdev 创建部署包,请完成以下步骤:

  1. 按照 marketplace-tools 代码库中的说明安装 mpdev 工具。

  2. 下载 Google Cloud SDK

创建 Cloud Storage 存储桶

您必须在用于 Producer Portal 的同一公共 Google Cloud 项目中创建 Cloud Storage 存储桶,并通过以下方式配置该存储桶:

  • 为存储桶启用对象版本控制,以防止部署包被删除或覆盖。
  • Storage Object Viewer (roles/storage.objectViewer) 角色授予 cloud-commerce-marketplace-onboarding@twosync-src.google.com

如需创建和配置 Cloud Storage 存储桶,请运行以下 gsutil 命令:

  BUCKET_NAME=YOUR_BUCKET_NAME
  gsutil mb $BUCKET_NAME
  gsutil versioning set on gs://$BUCKET_NAME
  gsutil iam ch "group:cloud-commerce-marketplace-onboarding@twosync-src.google.com:objectViewer" $BUCKET_NAME
  

其中,YOUR_BUCKET_NAME 是您为新存储桶提供的名称(须遵循命名要求)。

创建您的 Autogen 规范

如需创建 Autogen 规范,我们建议您使用 marketplace-tools 代码库中的 single VM example 作为初始 Autogen 规范,然后使用虚拟机的配置详细信息自定义该规范。

对于更复杂的用例,您可以在一些集成开发环境 (IDE) 中设置自动填充,以帮助修改和验证 configurations.yaml 文件。

如需从 single VM example 创建 Autogen 规范,请执行以下操作:

  1. 在本地目录中查看示例的预配置的 Autogen 规范:

    PACKAGE=YOUR_PACKAGE_NAME
    mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm $PACKAGE
    

    其中,YOUR_PACKAGE_NAME 是您为本地目录提供的名称。例如 my-deployment-package

  2. 使用以下信息修改 configurations.yaml 文件,以使用虚拟机的配置详细信息更新规范:

    • 虚拟机映像的名称。
    • 托管您的虚拟机映像的公共 Google Cloud 项目(即您用于 Producer Portal 的项目)的 ID 项目。

    如需了解更新 configurations.yaml 文件中的虚拟机映像和 Google Cloud 项目字段的步骤,请参阅 single VM exampleREADME.md 文件。

  3. 如果您的产品需要,请自定义其他字段,例如 passwordsdeployInputpostDeploy。这些字段位于 configurations.yaml 文件中的 DeploymentSpec 下。如需详细了解可以自定义的字段,请参阅 Autogen 参考文档

生成部署包

创建和自定义 Autogen 规范后,请使用该规范为部署包生成 Deployment Manager 模板文件。如需存储软件包,请将软件包上传到 Cloud Storage 存储桶。

如需生成并上传部署包,请执行以下操作:

  1. 将部署包的输出位置设置为 Cloud Storage 存储桶:

    mpdev cfg set zipPath gs://BUCKET_NAME/OBJECT
    

    其中,BUCKET_NAME 是您为部署包创建的存储桶的名称,OBJECT 是您为 Cloud Storage 对象提供的名称(根据命名准则)。

  2. 生成部署包:

    mpdev apply -f $PACKAGE/configurations.yaml
    

将生成的部署包压缩并上传到存储桶。

如需验证模板配置是否正确,请通过运行以下命令创建部署:

  TMPDIR=$(mktemp -d)
  unzip $PACKAGE/template.zip -d $TMPDIR
  gcloud deployment-manager deployments create $PACKAGE --config $TMPDIR/test_config.yaml
  

在 Producer Portal 中提交部署包以供审核。

创建并配置部署软件包后,您必须将该软件包提交到 Producer Portal,以便 Cloud Marketplace 团队可以审核和批准该软件包。

  1. 在 Producer Portal 中,转到 Deployment package 部分。

  2. 指定 Cloud Storage 对象位置下,选择之前上传的部署包对象。

  3. 点击验证。验证过程最多可能需要两个小时才能完成,您可以在完成时退出屏幕。

  4. Producer Portal 成功读取部署软件包后,您可以点击 Deployment preview查看客户看到的虚拟机配置

  5. 验证成功完成后,如需提交部署包以供审核,请点击提交。在您提交软件包后,Google 最多可能需要两周时间来审核并批准该软件包。