在 AWS Marketplace 上添加容器产品的新版本 - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS Marketplace 上添加容器产品的新版本

作为 AWS Marketplace 卖家,您可以添加容器产品的新版本、管理版本和更新版本信息。您的产品在其生命周期内可能有多个版本。每个版本都有一组特定于该版本的容器映像。以下主题将说明如何管理容器产品的产品版本。

注意

只有为产品创建了产品 ID 和定价,才能向产品添加版本。有关这些步骤的更多信息,请参阅第 1 步:为容器产品创建产品 ID 和产品代码

第 1 步:添加存储库

您的产品容器映像和其他构件存储在 AWS Marketplace 中的存储库中。通常,您可以为所需的每个构件创建一个存储库,但该存储库可以存储该构件的多个版本(使用不同的标签)。

注意

产品部署中的所有映像都必须使用 AWS Marketplace 存储库中的映像。

以下过程介绍如何在 AWS Marketplace 中添加任何所需的存储库。

要添加存储库,请执行以下操作:
  1. 登录到 AWS Marketplace 管理门户

  2. 产品菜单中选择服务器

  3. 服务器产品选项卡上,选择要修改的产品,然后从请求更改下拉列表中选择添加存储库

  4. 输入您要创建的存储库的名称。如果要创建多个新存储库,请为每个额外的存储库选择添加新存储库,并为其指定一个唯一的名称。

    注意

    存储库将具有以下结构:<repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>. 当您将项目添加到存储库时(在以下过程中),它们将获得一个标签并具有以下结构:<repositoryID>.dkr.ecr.us-east-1.amazonaws.com/<sellerName>/<repositoryName>:<tag>repositoryID 是 AWS Marketplace 的内部 ID。sellerName 是基于您为卖家账户创建的名称。您将在此步骤中定义 respositoryNametag 是在将构件上传到存储库时设置的。

  5. 选择提交

注意

对于每个产品,您最多可以有 50 个存储库。

新请求已创建并显示在请求选项卡上。完成后,您可以在几分钟之内开始向已创建的存储库中添加容器映像和其他构件。

第 2 步:将容器映像和构件上传到存储库

要将容器映像和构件上传到存储库,请执行以下操作:
  1. 登录到 AWS Marketplace 管理门户

  2. 产品菜单中选择服务器

  3. 服务器产品选项卡上,选择要修改的产品。

  4. 请求更改下拉列表中,选择添加存储库

  5. 选择查看现有存储库

  6. 选择要上传到的存储库。

  7. 选择查看推送命令以打开指令列表,其中包括可用于将 Docker 容器映像和 Helm 图表推送到该存储库的命令。

    有关如何将容器映像和其他构件推送到存储库的一般信息,请参阅《Amazon Elastic Container Registry 用户指南》中的推送映像

    注意

    调用 docker pulldocker push 时,您可以使用以下Amazon Elastic Container Registry (Amazon ECR) API 操作:

    • DescribeImages – 用于查看存储库中有关映像的元数据。

    • GetAuthorizationToken – 用于在将构件上传到存储库之前进行身份验证,然后使用 docker pulldocker push 命令。

    • ListImages – 用于查看您推送的映像列表。

  8. 使用列出的命令将任何需要的构件从本地存储库推送到产品的 AWS Marketplace 存储库。

    注意

    您在 push 命令中提供的 tag 用于区分要上传到存储库的构件的版本。使用对构件所属版本有意义的标签。

  9. 对版本中需要的每个容器映像或构件重复此操作。

    注意

    您的版本在每个交付选项中最多可以包含 50 个容器映像或构件。有关交付选项的更多信息,请参阅以下过程。

上传构件后,您就可以创建产品版本了。

注意

系统会自动扫描您的容器映像,以查看它们是否符合基于容器的产品要求 AWS Marketplace。有关更多信息,请参阅容器产品扫描是否存在安全问题

添加新的交付选项

容器产品的每个版本都需要一个交付选项。交付选项指定买家可使用的部署选项。根据以下交付选项之一,您需要将相应的构件上传到存储库。

  • 对于容器映像交付选项,请将产品安装所需的所有容器映像上传到在 AWS Marketplace 控制台中创建的 Amazon Elastic Container Registry(Amazon ECR)存储库。

  • 对于 Helm 图表交付选项,请将 Helm 图表和容器映像上传到在 AWS Marketplace 控制台中创建的 Amazon ECR 存储库。

  • 对于 Amazon EKS 控制台附加组件交付选项,请将 Helm 图表和容器映像上传到在 AWS Marketplace 控制台中创建的 Amazon ECR 存储库。

第 3 步:向容器产品添加新版本

注意

如果您在向容器添加新版本时收到任何错误,请参阅《AWS Marketplace Catalog API 参考》中的添加新版本异步错误表

要向容器产品添加新版本,请执行以下操作:
  1. 登录到 AWS Marketplace 管理门户

  2. 产品菜单中选择服务器

  3. 服务器产品选项卡上,选择要向其添加版本的产品。然后,从请求更改下拉列表中选择添加新版本

  4. 添加新版本页面上,输入版本标题发布说明

  5. 输入版本详细信息后,下一步是添加交付选项。交付选项是一组说明和信息,买家可以使用这些说明和信息从您的产品版本启动软件。交付选项被称为买家的交付选项

    注意

    您的产品可以支持具有不同容器映像的多个平台(例如 Kubernetes 和 Ubuntu 部署)。您可以为客户设置产品的每种方式创建一个交付选项,每个版本的产品最多可创建四个交付选项。

    1. 如果产品在其他版本中已有交付选项,则可以使用现有选项作为模板,向新版本添加交付选项。在交付选项中,从列表中选择要添加的交付选项。您可以按照以下步骤中的说明编辑该选项。

    2. 要添加新的交付选项,请选择新交付选项。添加选项后,按照以下步骤中的说明,对其进行配置。

  6. 为交付选项选择一种交付方式。交付方式决定了买家将如何启动您的软件。

    • 对于容器映像交付选项,请提供在 AWS Marketplace 控制台中创建的 Amazon Elastic Container Registry (Amazon ECR) 存储库中的容器映像的路径。买家使用容器映像路径通过将映像直接拉入其环境来启动软件。

    • 对于 Helm 图表交付选项,请提供在 AWS Marketplace 控制台中创建的 Amazon ECR 存储库中 Helm 图表的路径。买家在其部署环境中安装 Helm 图表以启动软件。

    • 对于 Amazon EKS 控制台附加组件交付选项,请提供在 AWS Marketplace 控制台中创建的 Amazon ECR 存储库中 Helm 图表的路径。买家使用 Amazon EKS 控制台或原生 Amazon EKS 附加组件 API 安装容器来启动软件。有关更多信息,请参阅来自 Amazon EKS 的可用 Amazon EKS 附加组件

    1. 要添加容器映像交付选项,请执行以下步骤:

      1. 容器映像中,将 Amazon ECR URL 添加到包含产品版本软件的容器映像中。

      2. 交付选项标题部署选项描述中,输入此交付选项的标题和描述。

      3. 使用说明中,输入详细信息,以帮助买家在启动软件后使用该软件。

      4. 支持的服务中,选择买家可以在其中启动软件的环境。

      5. 部署模板中,添加买家可以用来启动软件的资源。输入每个模板的标题和资源 URL。

    2. 要添加 Helm 图表交付选项,请执行以下步骤:

      1. Helm 图表中,将 Amazon ECR URL 添加到 Helm 图表中,买家将在部署环境中安装该网址以启动您的软件。

      2. 容器映像中,将 Amazon ECR URL 添加到包含产品版本软件的容器映像中。

      3. 交付选项标题部署选项描述中,输入此交付选项的标题和描述。

      4. 使用说明中,输入详细信息,以帮助买家在启动软件后使用该软件。

      5. 支持的服务中,选择买家可以在其中启动软件的环境。

      6. 可选 - Helm 版本名称中,输入将在其中安装 Helm 图表的 Kubernetes 命名空间的名称。

      7. 可选 - Helm 安装命名空间中,输入 helm install 命令将使用的 Helm 版本的名称。

      8. 可选 - Kubernetes 服务账户名称中,输入将用于连接 AWS Identity and Access Management(IAM)的 Kubernetes 服务账户的名称。Kubernetes 服务账户调用许可或计量等 AWS 服务。

      9. 选择在此产品版本上启用 QuickLaunch。QuickLaunch 是 AWS Marketplace 中的一项特征。买家可以使用 QuickLaunch 快速创建 Amazon EKS 集群,然后使用 AWS CloudFormation 在集群上启动您的软件。有关更多信息,请参阅 AWS Marketplace 中的 QuickLaunch

      10. 覆盖参数中,输入将在启动软件的 Helm CLI 命令中使用的参数。买家可使用这些参数覆盖提供的默认值。如果您已启用 QuickLaunch,请同时输入 CloudFormation 表单的参数名称和描述。使用 AWS Marketplace 管理控制台时,参数限制为 15 个,但使用 AWS Marketplace Catalog API 时没有限制。有关更多信息,请参阅向基于容器的产品添加新版本

        注意

        一些覆盖参数是必需的。Amazon EKS Anywhere 产品要求为 "${AWSMP_LICENSE_SECRET}" 设置为 DefaultValue 的许可证密钥覆盖参数。对于付费产品,您必须为 "${AWSMP_SERVICE_ACCOUNT}" 设置为 DefaultValue 的服务账号配置覆盖参数

      11. 选择隐藏密码和密钥以屏蔽控制台、命令行工具和 API 中的敏感信息。有关更多信息,请参阅《AWS CloudFormation 用户指南》参数中的 NoEcho 参数文档。

    3. 要添加 Amazon EKS 控制台附加组件交付选项,请确保该构件符合 Amazon EKS 附加组件产品的要求,然后执行以下步骤:

      注意

      每个版本仅支持一个 Amazon EKS 附加组件交付选项。在您正在处理的当前版本发布到 Amazon EKS 控制台之前,您无法添加新版本。

      1. Helm 图表中,将 Amazon ECR URL 添加到 Helm 图表中,买家将在部署环境中安装该网址以启动您的软件。

      2. 容器映像中,将 Amazon ECR URL 添加到包含产品版本软件的容器映像中。确保列出了 Helm 图表内的所有映像。

      3. 交付选项标题部署选项描述中,输入此交付选项的标题和描述。

      4. 可见性中,保持默认值有限选项。

      5. 附加组件名称中,输入此附加组件的唯一名称。您输入的附加组件名称在 Amazon EKS 控制台中显示时将附加上卖家的名称。

      6. 附加组件版本中,输入安装或升级此附加组件时将显示的附加组件版本。请遵循格式 major.minor.patch

      7. 附加组件类型中,从下拉列表中为您的附加组件选择一个类别。

      8. Kubernetes 版本中,选择您的附加组件将支持的所有 Kubernetes 版本。

      9. 架构中,选择您的附加组件支持的平台架构。选项是 AMD64ARM64。我们建议同时支持这两种架构,以最大限度地提高兼容性。如果您的附加组件不支持 ARM64 设备,则必须指定添加支持的计划日期,然后您的产品才能在所有商业 AWS 区域中发布。

      10. 命名空间中,输入要在其中安装附加组件的唯一 Kubernetes 命名空间。安装第三方附加组件时不支持 defaultkube-systemkube-public 命名空间。

      11. 环境覆盖参数中,您最多可以从 Amazon EKS 附加组件框架中选择 2 个环境参数。您可以将参数名称从 values.yaml 映射到这些环境变量,即 ${AWS_REGION}${AWS_EKS_CLUSTER_NAME}

  7. 要添加其他交付选项,请选择新交付选项,然后重复前面的步骤进行配置。

  8. 选择提交

第 4 步:更新版本信息

创建版本后,可通过修改与版本关联的信息,向买家提供更新的信息。例如,如果您计划在版本 1.1 发布后限制版本 1.0,则可以更新版本 1.0 的描述以引导买家使用版本 1.1。提供版本 1.0 的受限日期。您可以从 AWS Marketplace 管理门户 中更新版本信息。

要更新版本信息,请执行以下操作:
  1. 登录到 AWS Marketplace 管理门户

  2. 产品菜单中选择服务器

  3. 服务器产品选项卡上,选择要修改的产品。

  4. 请求更改下拉列表中,选择更新版本信息

  5. 更新版本页面上,选择要更新的版本。

  6. 对所选版本进行更新。可供更新的字段取决于产品版本或交付选项的状态。

    1. 对于所有版本,您可以更新发布说明

    2. 对于尚未公开发布的版本,您可以更新版本标题

    3. 对于未受限制的交付选项,您可以更新以下字段:

      • 描述

      • 使用说明

      • 支持的服务

    4. 对于尚未公开发布的版本中的交付选项,您可以更新以下字段:

      • 交付选项标题

      • Helm 图表(仅适用于 Helm 图表交付选项)

      • 容器映像

      • 部署资源

      • 附加组件名称

      • 附加组件版本

      • 附加组件类型

      • Helm 图表 URI

      • CompatibleKubernetesVersions

      • SupportedArchitectures

      • 命名空间

      • EnvironmentOverrideParameters

    5. 对于公开发布的版本中的交付选项,您可以更新 SupportedArchitectures

  7. 选择提交

  8. 验证请求是否显示在请求选项卡上,状态为正在审核

您可以随时从服务器产品页面的请求选项卡中查看请求的状态。

限制 Amazon EKS 附加组件的版本

要限制作为附加组件发布的容器产品版本,请使用 AWS Marketplace 管理门户 底部的“联系我们”表单联系 AWS Marketplace 运营团队。