跳到主要内容

组件管理

组件管理主要分三部分能力:

  • 我发布的:手动发布组件到仓库;同一组件可发布多版本
  • 我安装的:手动、自动安装组件;版本更新推送;历史版本管理和一键回滚
  • 我订阅的:订阅和取消订阅

我发布的

手动发布组件,发布后,可在“组件市场”浏览、下载、订阅或安装。同一组件可发布多版本。

操作步骤如下:

  1. 进入[组件市场/组件管理/我发布的]页面,点击 +组件发布
  2. 弹框中选择组件仓库,上传 helm 包,确定后,即开始发布组件,发布成功,返回列表页面
  • 组件仓库仅展示 Chart Museum 类型的仓库
  1. “我发布的”列表中展示组件名称、最新版本、组件仓库、当前状态、更新时间,操作:更新、删除
  • 当前状态有两种,同步中、正常。
  • 更新组件,不可修改组件仓库,可上传新的 helm 包,即发布新版本。
  • 删除组件,即删除其所有版本信息,删除后将不再<组件市场>展示。
  1. 点击组件名称,进入其详情页,展示组件版本列表、组件仓库名称、组件关键词、产品介绍信息。
  2. 组件详情页,选择版本后,支持删除某一版本,即仅删除此版本的相关信息。
信息
  • 目前仅支持系统管理员admin发布组件到Chart Museum类型的仓库,更多仓库类型,后续版本支持
  • 用户主动将组件所有版本均设置为“废弃”状态,则不会显示在“我发布的”列表及组件市场中

发布自定义组件

此章节主要对上述 “上传 helm 包” 中包结构或重点内容的说明。Kubebb 的组件安装包采用Helm模式,遵循 Helm charts 开发规则。除此之外,我们额外定义了一些特殊字段来满足组件的多样性。

通用配置:参考Helm官方文档

高级配置:为支持不同组件对安装位置、权限的可控,特此额外约定了多个配置字段。

  • Chart.yaml

Chart.yaml中包含组件的核心定义、版本、维护者等信息,属于Helm预定义的内容。为了支持额外的特殊需求,我们决定通过annotations来自由定义。如下所示:

annotations:
core.kubebb.k8s.com.cn/classification: "开发工具" # 组件分类,便于用户筛选,需选填“容器、服务治理、API 网关、数据库、网络、安全、存储、消息队列、云原生可观测、大数据计算、人工智能与机器学习、媒体服务、开发工具、其它”
core.kubebb.k8s.com.cn/displayname: "示例组件" # 用于填充组件的展示名,支持中英文
core.kubebb.k8s.com.cn/restricted-namespaces: "pro1" # 用于设置组件安装位置的限制租户,多个租户需要通过`,`隔开
core.kubebb.k8s.com.cn/restricted-tenants: "tenant1" # 用于设置组件安装位置的限制项目/命名空间,多个命名空间通过`,`隔开
  • README.md

说明安装部署的注意事项和需要按实际环境调整的参数等。此内容会显示到 <组件市场> 组件的详情页面,便于用户查看。

按上面说明对您的组件进行调整后,即可在 “我发布的” 页面选择目标仓库后上传 Helm 包,完成组件发布。

我安装的

在“组件市场”浏览组件,按需安装组件,当组件有新版本推送时可选择手动或自动更新。

安装组件

操作步骤如下:

  1. 进入[组件市场/组件管理/我安装的]页面,点击 +组件安装 ,跳转到“组件市场”页面,选择目标集群,浏览组件
  2. 找到目标组件,点击安装,进入安装页面,填写部署名称、选择组件版本、更新方式、选择租户&项目、查看或调整配置文件、按需添加镜像替换规则
  • 建议安装前仔细阅读安装说明,助您快速正确的安装组件,进行体验
  • 部署名称:由3~53个小写字母、数字、中划线“-”组成,并以字母、数字开头或结尾。项目&集群内唯一。
  • 组件名称和组件仓库自动回显,只读
  • 更新方式:默认手动更新。
    • 选择“手动更新”后,当组件有新版本发布后,用户按需手动更新成最新版本。
    • 选择“自动更新”后,当组件有新版本发布后,无需手动更新,按设置的更新时间自动更新成最新版本。
      • 更新时间支持设置每天的时分,设置后,组件当天有新版本发布后,如果在更新时间前发布,则当日更新时间即自动更新,否则次日更新时间再自动更新。
      • 更新时间不设置,即有新版本发布后,立即自动更新。此方式需注意对使用组件用户的影响,避免组件服务更新导致用户使用卡顿或中断。
      • 选择“自动更新”,会自动订阅此组件。
  • 组件版本:下拉列表选择要安装的版本。
    • 当选择“自动”更新方式,此处版本默认选中最新版本,不可修改。
  • 安装位置:选择租户、项目(上一步已选择集群)
    • 同一项目&集群中也可安装多次相同组件,例如数据库、存储类组件,可部署多个,但部署名称需唯一。
  • 配置文件:value.yaml,支持查看、编辑
  • 镜像替换:组件级别的镜像覆盖重写。默认无规则,按需添加。
    • 填写规则:选择已有镜像,替换为新镜像。其中选择已有镜像,依次展示为域名/仓库组/镜像名称/tag。
    • 选择已有镜像,如果匹配到组件仓库的镜像替换规则,则自动填充替换后的新域名、新仓库组,用户可继续填写新镜像名称、新tag/新digest;否则用户自定义填写新域名、新仓库组、新镜像名称、新tag/新digest。
  1. 填写完成,点击确定后,即开始安装,自动跳转到上面所选租户、项目&集群的<我安装的>列表页面。列表展示部署名称、组件名称、版本、状态、更新方式、所属组件仓库、更新时间。
  • 状态:安装中、安装成功、安装失败、卸载中、卸载失败、未知。 其中卸载失败、未知比较少见,如遇到请联系管理员检查kubebb的系统服务组件。
  1. 当组件发布新版本后,一周内会有推新的标识。也可点击“版本”旁的new,过滤所有近一周有推新的组件

安装版本管理

  1. 进入[组件市场/组件管理/我安装的]页面,找到目标部署组件,点击组件名称,进入其详情页面
  2. 安装信息:展示当前安装的版本信息,包括部署名称、组件名称、组件仓库、版本、更新方式、安装位置、配置文件、镜像替换规则
  3. 历史版本:展示此次部署组件的历史版本列表,包括组件名称、版本、更新方式、安装时间。版本处会标识当前版本
  • 支持查看各历史版本的安装信息
  • 支持按需回滚到某历史版本。主动回滚后,注意会更新其更新方式为手动更新。

更新组件

  1. 进入[组件市场/组件管理/我安装的]页面,找到目标部署组件,按需更新
  • 选择新版本升级
  • 选择旧版本回退
  • 或不调整版本,仅修改配置文件或镜像替换规则等
  1. 点击更新,进入组件更新页面,部署名称、组件名称、组件仓库、安装位置,不允许修改,其他选项按需调整,点击确定,开始更新组件
信息

更新组件时,组件服务会重启,可能会对用户使用造成影响,请评估后选择合适时间进行更新。

卸载组件

  1. 进入[组件市场/组件管理/我安装的]页面,找到目标部署组件,点击卸载
  2. 卸载组件会同步删除此部署下的所有历史版本信息,二次弹框提示,确定后,开始卸载。

我订阅的

浏览组件市场,想关注的组件可以提前订阅,及时关注其动态。

操作步骤如下:

  1. 进入[组件市场/组件管理/我订阅的]页面,点击 +组件订阅 ,跳转组件市场,找到目标组件,点击卡片区域,进入其详情页面
  2. 右上角操作处点击“订阅”,弹框内填写订阅项目,即选择租户、项目,点击确定,完成订阅
  3. 返回我订阅的列表页,展示订阅的组件列表,包括组件名称、版本、所属组件仓库、订阅时间,操作:取消订阅
  4. 点击组件名称跳转其组件市场的详情页面,可查看详细信息
  5. 如不想继续关注,可取消订阅
信息

在同一集群中,相同的租户&项目对相同组件只能订阅一次。