应用程序生命周期管理

KubeSphere 集成了 OpenPitrix(一个跨云管理应用程序的开源平台)来构建应用商店,管理应用程序的整个生命周期。应用商店支持两种应用程序部署方式:

  • 应用模板:这种方式让开发者和独立软件供应商 (ISV) 能够与企业空间中的用户共享应用程序。您也可以在企业空间中导入第三方应用仓库。
  • 自制应用:这种方式帮助用户使用多个微服务来快速构建一个完整的应用程序。KubeSphere 让用户可以选择现有服务或者创建新的服务,用于在一站式控制台上创建自制应用。

应用商店

本教程使用 Redis 作为示例应用程序,演示如何进行应用全生命周期管理,包括提交、审核、测试、发布、升级和下架。

视频演示

准备工作

动手实验

步骤一:创建自定义角色和帐户

首先,您需要创建两个帐户,一个是 ISV 的帐户 (isv),另一个是应用技术审核员的帐户 (reviewer)。

  1. 使用 admin 帐户登录 KubeSphere 控制台。点击左上角的平台管理,选择访问控制。转到平台角色,点击创建

  2. 为角色设置一个名称,例如 app-review,然后点击编辑权限

  3. 转到应用管理,选择权限列表中的应用商店管理应用商店查看,然后点击确定

    备注

    被授予 app-review 角色的用户能够查看平台上的应用商店并管理应用,包括审核和下架应用。

  4. 创建角色后,您需要创建一个用户,并授予 app-review 角色。转到用户,点击创建。输入必需的信息,然后点击确定

  5. 再创建另一个用户 isv,把 platform-regular 角色授予它。

  6. 邀请上面创建好的两个帐户进入现有的企业空间,例如 demo-workspace,并授予它们 workspace-admin 角色。

步骤二:上传和提交应用程序

  1. isv 身份登录控制台,转到您的企业空间。您需要上传示例应用 Redis 至该企业空间,供后续使用。首先,下载应用 Redis 11.3.4,然后转到应用模板,点击上传模板

    备注

    在本示例中,稍后会上传新版本的 Redis 来演示升级功能。

  2. 在弹出的对话框中,点击上传 Helm Chart 上传 Chart 文件。点击确定继续。

  3. 应用信息下显示了应用的基本信息。要上传应用的图标,点击上传图标。您也可以跳过上传图标,直接点击确定

    备注

    应用图标支持的最大分辨率为 96 × 96 像素。

  4. 成功上传后,模板列表中会列出应用,状态为开发中,意味着该应用正在开发中。上传的应用对同一企业空间下的所有成员均可见。

  5. 点击列表中的 Redis 进入应用模板详情页面。您可以点击编辑来编辑该应用的基本信息。

  6. 您可以通过在弹出窗口中指定字段来自定义应用的基本信息。

  7. 点击确定保存更改,然后您可以通过将其部署到 Kubernetes 来测试该应用程序。点击待提交版本展开菜单,选择安装

    备注

    如果您不想测试应用,可以直接提交审核。但是,建议您先测试应用部署和功能,再提交审核,尤其是在生产环境中。这会帮助您提前发现问题,加快审核过程。

  8. 选择要部署应用的集群和项目,为应用设置不同的配置,然后点击安装

    备注

    有些应用可以在表单中设置所有配置后进行部署。您可以使用拨动开关查看它的 YAML 文件,文件中包含了需要在表单中指定的所有参数。

  9. 稍等几分钟,切换到应用实例选项卡。您会看到 Redis 已经部署成功。

  10. 测试应用并且没有发现问题后,便可以点击提交发布,提交该应用程序进行发布。

    备注

    版本号必须以数字开头并包含小数点。

  11. 应用提交后,它的状态会变成已提交。现在,应用审核员便可以进行审核。

步骤三:发布应用程序

  1. 登出控制台,然后以 reviewer 身份重新登录 KubeSphere。点击左上角的平台管理,选择应用商店管理。在应用发布页面,上一步中提交的应用会显示在待发布选项卡下。

  2. 点击该应用进行审核,在弹出窗口中查看应用信息、介绍、配置文件和更新日志。

  3. 审核员的职责是决定该应用是否符合发布至应用商店的标准。点击通过来批准,或者点击拒绝来拒绝提交的应用。

步骤四:发布应用程序至应用商店

应用获批后,isv 便可以将 Redis 应用程序发布至应用商店,让平台上的所有用户都能找到并部署该应用程序。

  1. 登出控制台,然后以 isv 身份重新登录 KubeSphere。转到您的企业空间,点击应用模板页面上的 Redis。在详情页面上展开版本菜单,然后点击发布到商店。在弹出的提示框中,点击确定以确认操作。

    应用模板页面

  2. 应用发布下,您可以查看应用状态。已上架意味着它在应用商店中可用。

  3. 点击在商店查看转到应用商店的应用信息页面,或者点击左上角的应用商店也可以查看该应用。

    备注

    您可能会在应用商店看到两个 Redis 应用,其中一个是 KubeSphere 中的内置应用。请注意,新发布的应用会显示在应用商店列表的开头。

  4. 现在,企业空间中的用户可以从应用商店中部署 Redis。要将应用部署至 Kubernetes,请点击应用转到应用信息页面,然后点击安装

    备注

    如果您在部署应用时遇到问题,状态栏显示为失败,您可以将光标移至失败图标上方查看错误信息。

步骤五:创建应用分类

reviewer 可以根据不同类型应用程序的功能和用途创建多个分类。这类似于设置标签,可以在应用商店中将分类用作筛选器,例如大数据、中间件和物联网等。

  1. reviewer 身份登录 KubeSphere。要创建分类,请转到应用商店管理页面,再点击应用分类页面中的 应用程序生命周期管理 - 图3

  2. 在弹出的对话框中设置分类名称和图标,然后点击确定。对于 Redis,您可以将分类名称设置为 Database

    备注

    通常,应用审核员会提前创建必要的分类,ISV 会选择应用所属的分类,然后提交审核。新创建的分类中没有应用。

  3. 创建好分类后,您可以给您的应用分配分类。在未分类中选择 Redis,点击调整分类

  4. 在弹出对话框的下拉列表中选择分类 (Database) 然后点击确定

  5. 该应用便会显示在对应分类中。

步骤六:添加新版本

要让企业空间用户能够更新应用,您需要先向 KubeSphere 添加新的应用版本。按照下列步骤为示例应用添加新版本。

  1. 再次以 isv 身份登录 KubeSphere,点击应用模板,点击列表中的 Redis 应用。

  2. 下载 Redis 12.0.0,这是 Redis 的一个新版本,本教程用它来演示。在版本选项卡中点击右侧的上传新版本,上传您刚刚下载的文件包。

  3. 点击上传 Helm Chart,上传完成后点击确定

  4. 新的应用版本会显示在版本列表中。您可以通过点击来展开菜单并测试新的版本。另外,您也可以提交审核并发布至应用商店,操作步骤和上面说明的一样。

步骤七:升级

新版本发布至应用商店后,所有用户都可以升级该应用程序至新版本。

备注

要完成下列步骤,您必须先部署应用的一个旧版本。本示例中,Redis 11.3.4 已经部署至项目 demo-project,它的新版本 12.0.0 也已经发布至应用商店。

  1. project-regular 身份登录 KubeSphere,搜寻到项目的应用页面,点击要升级的应用。

  2. 点击更多操作,在下拉菜单中选择编辑设置

  3. 在弹出窗口中,您可以查看应用配置 YAML 文件。在右侧的下拉列表中选择新版本,您可以自定义新版本的 YAML 文件。在本教程中,点击更新,直接使用默认配置。

    备注

    您可以在右侧的下拉列表中选择与左侧相同的版本,通过 YAML 文件自定义当前应用的配置。

  4. 应用页面,您会看到应用正在升级中。升级完成后,应用状态会变成运行中

步骤八:下架应用程序

您可以选择将应用完全从应用商店下架,或者下架某个特定版本。

  1. reviewer 身份登录 KubeSphere。点击左上角的平台管理,选择应用商店管理。在应用商店页面,点击 Redis。

  2. 在详情页面,点击下架应用,在弹出的对话框中选择确定,确认将应用从应用商店下架的操作。

    备注

    将应用从应用商店下架不影响正在使用该应用的租户。

  3. 要让应用再次在应用商店可用,点击上架应用

  4. 要下架应用的特定版本,展开版本菜单,点击下架版本。在弹出的对话框中,点击确定以确认操作。

    备注

    下架应用版本后,该版本在应用商店将不可用。下架应用版本不影响正在使用该版本的租户。

  5. 要让应用版本再次在应用商店可用,点击上架版本