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

如果您 选择支持使用 Deployment Manager 进行部署 您必须完成以下步骤。

确定如何创建部署包

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

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

我们建议您不要使用 使用 Google Cloud 控制台或 Deployment Manager Autogen Cloud Marketplace 工具我们建议您直接在 Google Cloud 控制台中创建部署包。

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

如果您使用 Producer Portal 的引导式配置选项,并且稍后想要切换到手动配置部署软件包,请点击转到手动配置

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

完成引导式配置

要使用 Google Cloud 控制台,请完成以下步骤:

  1. 在 Producer Portal 中,前往部署包部分。

  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 自动生成 为您的部署作业生成 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 存储分区,并通过以下方式配置该存储分区:

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

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

  BUCKET_NAME=YOUR_BUCKET_NAME
  gcloud storage buckets create gs://$BUCKET_NAME
  gcloud storage buckets update gs://$BUCKET_NAME --versioning
  gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=group:cloud-commerce-marketplace-onboarding@twosync-src.google.com --role=roles/storage.objectViewer
  

其中,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。这些字段位于 在DeploymentSpec下 在 configurations.yaml 文件中。如需详细了解可以自定义的字段,请参阅 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 成功读取您的部署包后,您可以点击部署预览查看客户如何查看您的虚拟机配置

  5. 验证成功完成后,提交部署 点击提交。提交文件包后 Google 最长可能需要 2 周时间来审核并批准文件包。