设置您的 Google Cloud 环境

本页面介绍了设置 Google Cloud 环境的步骤,以便分发 Kubernetes 应用。

创建工作区

我们建议您在控制台中为您的 Google Cloud Marketplace 产品创建一个新项目。

为了管理您提交到 Google Cloud Marketplace 的产品,建议您创建一个以 -public 结尾的项目 ID。如需为产品创建项目,请参阅创建和管理项目

如果您已经设置了要在 Google Cloud Marketplace 上使用的要销售的项目,请验证角色是否已正确授予 Kubernetes,然后跳至设置 Container Registry

创建项目后,请授予以下角色:

  • cloud-commerce-marketplace-onboarding@twosync-src.google.com 的项目编辑者、项目查看者和服务管理管理员角色
  • cloud-commerce-procurement@system.gserviceaccount.com 授予 Service Management Service Consumer 角色
  • cloud-commerce-procurement@system.gserviceaccount.com 授予 Service Management Service Controller 角色
  • Service Management Administrator 角色,向 managed-services@cloud-marketplace.iam.gserviceaccount.com 授予

如果您在调试项目时需要帮助(例如排查 Container Registry 代码库问题),请向 cloud-commerce-marketplace-onboarding@twosync-src.google.com 授予 Project Editor 角色。

如需了解授予项目访问权限的步骤,请参阅授予、更改和撤消对资源的访问权限

创建项目后,请填写 Google Cloud Marketplace 团队为您提供的项目信息表单

设置 Container Registry

您需要一个 Container Registry 代码库来托管应用的容器映像。Container Analysis 会持续扫描应用映像以查找漏洞,以便您可以在将产品提交到 Google Cloud Marketplace 之前审核并解决问题。

要设置 Container Registry、Docker 和 Google Cloud SDK,请按照 Container Registry 快速入门进行操作。

设置 Container Registry 后,在包含注册表的项目中,将 Project Viewer 角色授予 cloud-commerce-marketplace-onboarding@twosync-src.google.com

启用 Container Analysis API

您必须启用 Container Analysis API,该 API 会在 Container Registry 中扫描容器映像中的漏洞。如需大致了解 Container Analysis 中的漏洞扫描,请参阅 Container Registry 文档

将您的产品添加到 Google Cloud Marketplace

如需在 Google Cloud Marketplace 中创建和发布产品,您可以使用 Producer Portal。填写 Google Cloud Marketplace 项目信息表单后,合作伙伴工程师将为您启用此功能。

Producer Portal

如需在 Producer Portal 中发布产品,请为您的产品创建一个条目,然后提交以下信息以供审核:

  • 商品详情:添加商品详情和商品详情。
  • 价格:选择并指定您的价格模式,以确定客户如何为您的商品付款。
  • 容器映像:提供包含容器映像的 Google Container Registry 代码库。
  • 开源合规性:确保您的产品符合 Google 的开源政策。

您可以随时按任意顺序提交这些审核材料。有些审核材料最多可能需要两周时间才能完成审批,因此建议您查看相关要求并尽早开始。

如需创建产品的 Google Cloud Marketplace 条目,请执行以下操作:

  1. 在 Google Cloud Console 中打开 Producer Portal:

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    YOUR_PUBLIC_PROJECT_ID 替换为您为 Google Cloud Marketplace 创建的公共项目的 ID,例如 my-organization-public

  2. 在页面顶部,点击添加产品

  3. 选择 Kubernetes

  4. 产品名称下,为您的产品命名,然后检查产品 ID。产品 ID 用于 Google Cloud Marketplace 产品详情的网址。

  5. 点击创建。创建产品可能需要几秒钟。

合作伙伴门户

您可以使用合作伙伴门户添加有关您的应用的营销信息,并输入您的价格模式。完成“项目信息”表单后,您的合作伙伴工程师将为您启用合作伙伴门户。

在此阶段,您只需要在合作伙伴门户中为您的产品创建解决方案条目。您可以在后面的步骤中添加营销信息。

合作伙伴门户的直接链接是:

https://console.cloud.google.com/partner/solutions?project=YOUR_PUBLIC_PROJECT_ID

要创建解决方案,请执行以下操作:

  1. 在页面顶部,点击 Add solution

  2. 为解决方案命名并检查解决方案 ID。 解决方案 ID 会在 Google Cloud Marketplace 产品详情的网址中使用。

  3. 在“Solution Type”下,选择 Kubernetes app

  4. 临时存储库网址 (Staging repo URL) 框中,输入 Container Registry 存储库的网址。

  5. 点击 Create。创建解决方案可能需要几秒钟。

您可以在后面的步骤中为解决方案添加价格模式和营销信息。

在 Kubernetes Engine 中创建开发集群

使用 Google Kubernetes Engine 来管理和扩缩 Kubernetes 集群。要创建测试集群并在其中部署基本应用,请按照 Google Kubernetes Engine 快速入门进行操作。

安装 mpdev 开发工具

mpdev 工具是一个容器,用于捆绑实用程序以测试和发布您的应用映像。虽然不需要安装 mpdev 即可以提交应用进行发布,但是您可以运行 mpdev 来验证您的开发环境,并测试您的应用是否正确安装在开发集群上。

从 Google Cloud Marketplace 工具 GitHub 代码库中安装 mpdev

如需了解如何使用 mpdev 检查环境和测试应用,请参阅 GitHub 上的 mpdev 参考

整理版本

通常,应用的每个版本都必须采用 Semantic Versioning 2.0,遵循 MAJOR.MINOR.PATCH 编号约定。每个版本都必须有唯一的版本号,例如 1.0.11.0.21.3.1,依此类推。(可选)在版本号后面添加连字符以添加预发布修饰符,例如 1.3.1-alpha201910。预发布修饰符可用于存储和突出显示您认为有用的任何其他信息,例如表示版本创建时间的版本日期。

我们建议您按轨道发布软件。每个轨道是具有向后兼容更新的一系列版本。您的发布轨道应基于次要版本,例如 4.1.x。最佳做法是避免使用通用版本名称,例如 latest

例如,如果您要在 Google Cloud Marketplace 上发布软件的版本 2.0,并且期望版本 2.0.12.0.5 等向后兼容 2.0,请将这些版本整理到 2.0 发布轨道下。

当您发布向后不兼容的应用版本或要求用户执行手动迁移步骤的版本时,请在新轨道中发布它,以便用户可以计划更新。

选择您的产品标识符

您必须为公司、产品和容器映像选择以下标识符,这些标识符用于创建 Google Cloud Marketplace 网址和容器映像的 URI:

  • 公司名称。例如,如果贵公司名称为 Examplesoft Inc.,则可以使用标识符 examplesoft

  • 产品名称。例如,如果产品名称为 Example Pro,则使用标识符 example-pro

  • 产品的发布轨道,比如 4.0

    查看版本整理要求

  • 您的容器映像。为应用中的每个容器映像选择唯一的标识符。所有应用都需要以下标识符:

    • 主要映像:此容器映像是产品的主映像,并使用和产品相同的标识符。例如,如果您的产品标识符为 example-pro,则主映像使用相同的标识符。
    • deployer:轨道的部署容器映像。当用户从 Google Cloud Console 部署您的应用时,部署容器会运行。您在创建应用软件包时创建部署映像。

例如,公司 Examplesoft Inc. 为其产品 Example Pro 选择以下标识符:

名称 标识符
公司 Examplesoft Inc examplesoft
产品 Example Pro example-pro
映像 [1](主要) Example Pro 服务器
映像 [2] Example Queue example-queue
映像 [deployer] deployer
发布轨道 [1] 4.x.x 版 4.0
发布轨道 [2] 5.x.x 版 5.0

对于这些标识符,将自动生成以下信息:

  • Google Cloud Marketplace 中的产品网址:https://console.cloud.google.com/marketplace/details/examplesoft/example-pro

  • 容器映像 URI:

    • marketplace.gcr.io/examplesoft/example-pro:4.0
    • marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0
    • marketplace.gcr.io/examplesoft/example-pro/deployer:4.0
    • marketplace.gcr.io/examplesoft/example-pro:5.0
    • marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0
    • marketplace.gcr.io/examplesoft/example-pro/deployer:5.0