创建部署包

本部分介绍了为解决方案创建部署包的步骤。部署包是通过合作伙伴门户网站上传的,是提交您的虚拟机解决方案所必需的。

部署是一起创建和管理的一组资源,例如解决方案所需的资源。部署包或模板是通常一起部署的一组资源的规范,从而简化了部署该特定解决方案的过程。通过 Deployment Manager,您可以使用简单的 YAML,JSON 或 ProtoText 配置文件为虚拟机解决方案创建部署模板和部署包。

如果您的解决方案是使用基本防火墙规则对单个虚拟机实例进行简单部署,则可以直接在合作伙伴门户中配置部署包

对于大多数用例,我们建议使用 Deployment Manager 开源 deploymentmanager-autogen 工具来生成 Deployment Manager 部署包。使用 Deployment Manager Autogen,您的部署包包括以下功能:

  • 配额检查 CPU 和 GPU,以便用户超出配额要求时无法部署您的解决方案。
  • Deployment Manager 页面中的动态定价更新。
  • 支持共享 VPC。
  • 支持具有多个网络接口卡的虚拟机。
  • 阻止用户选择其所选区域中不可用的机器类型,GPU 或子网的功能。

准备工作

 Caution: Your deployment must not use Terraform, or have any dependencies
 on Terraform.

为此,请输入以下内容:

alias autogen='docker run \
  --rm \
  --workdir /mounted \
  --mount type=bind,source="$(pwd)",target=/mounted \
  --user $(id -u):$(id -g) \
  gcr.io/cloud-marketplace-tools/dm/autogen'

autogen --help

创建您的 Autogen 配置文件

我们建议通过修改 Autogen 代码库的 example-config 文件夹中的示例来创建初始配置文件。

配置文件和 proto 文件中的评论(autogen.protodeployment_package_autogen_spec.protomarketing_info.proto)包含有关其中字段的信息,包括其中哪些是必需的还是可选的。如果要为单个解决方案生成部署包,则配置文件应遵循 DeploymentPackageInput proto 的规范;如果要为多个解决方案生成部署包,则配置文件应遵循 BatchInput proto 的规范。这两个规范都可以在 autogen.proto 中找到。

要创建您的配置文件,请更改示例配置文件的每个字段以反映解决方案的配置,然后在编辑后的配置文件上运行 Autogen

其他示例配置也可以在 testdata 文件夹中找到。

生成您的部署包

以下是一个示例命令,该命令读取 example-config/solution.yaml 中的规范并将部署包输出到名为 solution-folder 的文件夹中:

mkdir solution_folder

autogen \
  --input_type YAML \
  --single_input example-config/solution.yaml \
  --output_type PACKAGE \
  --output solution_folder

要从命令行运行 Autogen,您需要添加以下两个参数之一:

  • --single_input,如果要为一个解决方案生成部署包
  • --batch_input,如果要为多个解决方案生成部署包

您还可以使用诸如 --input_type--output_type 之类的可选参数来指定 Autogen 读取或写入的格式。如需了解所有可能选项的信息,请参阅 Autogen 文档

创建部署包后,您可以压缩 solution_folder 文件夹,然后将该压缩文件上传到合作伙伴门户

在合作伙伴门户中创建简单的 Deployment Manager 部署包

通过基本防火墙规则对单个虚拟机实例进行简单部署的解决方案可以直接在合作伙伴门户中配置其部署包。

要进行配置,请打开合作伙伴门户并从解决方案列表中选择您的解决方案,然后执行以下步骤:

  1. 部署包旁边,点击编辑
  2. 选择生成部署包,然后单击继续
  3. 使用项目映像下拉菜单选择您的虚拟机映像,然后单击继续
  4. 选择最小机器类型默认机器类型设置,然后单击继续
  5. 添加客户应采取的所有部署后的后续步骤,然后单击继续
  6. 设置防火墙规则和其他网络选项(如果适用),然后单击继续
  7. 您可以选择声明网站或管理员网址。如果您的解决方案需要登录,则可以在提交解决方案时设置登录详细信息。点击 Continue
  8. 列出部署包的内容下,选择虚拟机映像操作系统的操作系统名称操作系统版本。然后,您可以为解决方案中随附的每个附加软件添加名称版本。列出所有部署包内容之后,请单击继续
  9. 完成上述步骤后,解决方案部署包将显示在查看下。您可以下载解决方案部署包,或单击编辑 JSON 进行手动修改。单击保存以保存部署包并返回您的解决方案。

对于更复杂的部署,可以从头开始创建部署。如果您不确定哪种类型的解决方案更适合您的项目,请与您的 Google 合作伙伴工程师联系。

客户视图中的部署包

以下各部分显示了客户在部署解决方案时针对基于自动生成的标准解决方案模板的解决方案时看到的屏幕布局。

部署包的客户视图

标准客户输入元素显示在以下屏幕截图的左侧,包括地区、机器类型、磁盘选项和网络选项。

如果客户的部署需要多个网络接口卡,则他们可以通过单击添加网络接口来添加其他网络接口。

要部署您的解决方案,您的客户必须填写输入字段,然后单击部署

已部署包的客户视图

下图显示了您的解决方案在客户成功部署后将如何显示给客户。

下面的屏幕截图的右侧显示了标准输出元素,包括网址、临时管理员密码和实例信息。