跳到主要内容

组件

组件是将 chart package 映射为集群资源的一个概念,组件定义了 chart package 的基础描述信息,版本信息等。组件一般由仓库创建出来,无需手动创建。

定义

CRD 的代码定义位于 ComponentTypes。组件的信息都定在 status 中, 接下来会详细介绍每个字段的含义及其作用。

  • status.name

    该字段用来保存 chart package 的名字,必须符合kubernetes的命名规范。

  • status.displayName

    该字段用来保存 chart package 的展示名,该字段内容为组件最新版本的注解core.kubebb.k8s.com.cn/displayname,允许为空。

  • status.versions

    该字段是数组,用来保存 chart package 的多个版本。每个版本包含的信息如下

    • status.versions[index].appVersion 定义 chart packge 里面的应用的版本信息。
    • status.versions[index].annotations 定义该版本的注解信息,如组件的展示名。
    • status.versions[index].createdAt 创建时间
    • status.versions[index].updatedAt 更新时间
    • status.versions[index].deprecated 当前版本是否废弃
    • status.versions[index].version chart package 的版本信息
    • status.versions[index].digest 数字签名
  • status.description

    chart package 的描述信息

  • status.maintainers

    该字段是数组类型,每一项都是 chart package 的维护者。每一项的包含的信息如下

    • status.maintainers[index].name 维护者名字
    • status.maintainers[index].email 维护者的邮箱
    • status.maintainers[index].url 维护者的网站
  • status.home

    组件的官网。

  • status.soureces

    该字段是字符串数组类型,定义组件代码仓库。

  • status.keywords

    该字段是字符串数组类型,定义与该组件关联的关键词。

  • status.icon

    定义该组件的图标

  • status.deprecated

    定义当前组件是否废弃

工作原理

仓库Watcher同步仓库服务的组件列表,并创建/更新组件。因此:

  • 组件不建议主动创建,应该都通过组件仓库对应的Watcher自动同步获得
  • 同属一个仓库的组件可通过kubebb.component.repository=<repository-name>检索