本页面介绍了设置 Google Cloud 环境的步骤,以便您可以分发 Kubernetes 应用。
创建项目
在成为 Google Cloud Marketplace 合作伙伴的过程中,您需要设置一个项目,用于测试和分发应用。
如果您已经设置项目来销售虚拟机解决方案,则可以重复使用这些项目,并跳至设置容器注册表。
为了管理您提交到 Google Cloud Marketplace 的解决方案,我们建议您创建一个项目 ID 以 -public
结尾的新项目。要为解决方案创建项目,请参阅创建和管理项目。
创建项目后,您必须向 marketplace-ops@cloud.google.com
授予 Project Viewer 角色。如需了解授予项目访问权限的步骤,请参阅授予、更改和撤消对资源的访问权限。
在创建解决方案时,如果您需要项目调试方面的帮助(例如排查 Container Registry 代码库问题),请向 marketplace-support@cloud.google.com
授予 Project Editor 角色。
创建项目后,请填写 Google Cloud Marketplace 团队为您提供的项目信息表单。
设置 Container Registry
您需要一个 Container Registry 代码库来托管应用程序的容器映像。Container Analysis 会连续扫描应用映像中的漏洞,以便您可以在客户部署应用之前查看并解决问题。
要设置 Container Registry、Docker 和 Google Cloud SDK,请按照 Container Registry 快速入门进行操作。
设置 Container Registry 后,在包含注册表的项目中,将 Project Viewer 角色授予 marketplace-ops@cloud.google.com
。
启用 Container Analysis API
您必须启用 Container Analysis API,该 API 会在 Container Registry 中扫描容器映像中的漏洞。如需大致了解 Container Analysis 中的漏洞扫描,请参阅 Container Registry 文档。
将您的解决方案添加到合作伙伴门户
您可以使用合作伙伴门户添加有关您的应用的营销信息,并输入您的价格模式。完成“项目信息”表单后,您的合作伙伴工程师将为您启用合作伙伴门户。
在此阶段,您只需要在合作伙伴门户中为您的解决方案创建条目。您可以在后面的步骤中添加营销信息。
合作伙伴门户的直接链接是:
https://console.cloud.google.com/partner/solutions?project=YOUR_PUBLIC_PROJECT_ID
要创建解决方案,请执行以下操作:
在页面顶部,点击 Add solution。
为解决方案命名并检查解决方案 ID。 解决方案 ID 会在 Google Cloud Marketplace 产品详情的网址中使用。
在“Solution Type”下,选择 Kubernetes app。
在临时存储库网址 (Staging repo URL) 框中,输入 Container Registry 存储库的网址。
点击 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.1
、1.0.2
、1.3.1
,依此类推。(可选)在版本号后面添加连字符以添加预发布修饰符,例如 1.3.1-alpha201910
。预发布修饰符可用于存储和突出显示您认为有用的任何其他信息,例如表示版本创建时间的版本日期。
我们建议您按轨道发布软件。每个轨道是具有向后兼容更新的一系列版本。这种方法可确保用户只需最少的手动步骤即可更新其安装。如果您为应用启用了托管更新,则用户只需点击几下即可通过 Cloud Console 更新其部署。
您的发布轨道可以基于主要版本(比如 4.x
)或次要版本(比如 4.1.x
)。最佳做法是避免使用通用版本名称,比如 latest
。
例如,如果您要在 Google Cloud Marketplace 上发布软件的版本 2.0
,并且期望版本 2.0.1
、2.0.5
等向后兼容 2.0
,请将这些版本整理到 2.0
发布轨道下。当您在此轨道上发布更新时,系统会提示用户在 Cloud Console 中更新其安装。
当您发布向后不兼容的应用版本或要求用户执行手动迁移步骤的版本时,请在新轨道中发布它,以便用户可以计划更新。
选择您的产品标识符
您必须为公司、产品和容器映像选择以下标识符,这些标识符用于创建 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