Skip to content

Commit

Permalink
修改组件管理的我发布的内容,增加<发布自定义组件>段落;更新产品介绍、动态等
Browse files Browse the repository at this point in the history
  • Loading branch information
li.wei9 committed Nov 9, 2023
1 parent 03853f1 commit b34fa40
Show file tree
Hide file tree
Showing 11 changed files with 7,786 additions and 238 deletions.
2 changes: 1 addition & 1 deletion docs/develop-guid/core/rating/enablerating.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ sidebar_position: 1

## 1.安装kubebb core

参考[安装内核](../../quick-start/core_quickstart)完成内核(未启用Rating)安装。
参考[安装内核](../../../quick-start/quick-install.md)完成内核(未启用Rating)安装。

## 2. 创建命名空间 `kubebb-addons`

Expand Down
5 changes: 2 additions & 3 deletions docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,11 @@ Kubebb(Kubernetes Building Blocks) 是一种由内核驱动的组件生命周期
- **提供底座服务,快速开启搭建**:提供账号、认证(OIDC)、权限(RBAC)、审计(Audit)的基础功能,采用更加标准的技术方式提供构建的底座服务
- **内核驱动的声明式组件管理**:提供声明式的组件仓库管理、组件同步、组件订阅、部署以及多维度的组件评级,完整适配 Helm 生态,集成微前端框架
- **灵活的组件开发模式**:基于微前端框架和低代码开发,定义了标准的组件封装及发布模式,让开发者可以在底座之上按照开发规范进行组件的快速开发和发布,并在统一的服务门户上对外提供服务

官方提供的组件包括微服务治理、服务网格、API网关、应用性能监控的开源社区版本,详细介绍参见[**开源文档**](https://docs.tenxcloud.com/)
- **内置丰富组件**:包括官方提供的微服务治理、服务网格、API网关、应用性能监控的开源版本,详细介绍参见[**开源文档**](https://docs.tenxcloud.com/)。还有其他常见的数据库、存储、消息队列等开源组件供您选择使用。

## 功能说明

Kubebb 部署后主要有管理工作台、组件市场两部分能力。管理工作台用户指南详见[管理工作台](https://docs.tenxcloud.com/)
Kubebb 部署后主要有管理工作台、组件市场两部分能力。管理工作台用户指南详见[管理工作台](https://docs.tenxcloud.com/docs/管理工作台/intro)
<table>
<tr>
<th>模块</th>
Expand Down
Binary file added docs/quick-start/images/componetinstall.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/quick-start/images/componetmarket.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/quick-start/images/menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
233 changes: 18 additions & 215 deletions docs/quick-start/quick-experience.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,233 +4,36 @@ sidebar_position: 4

# 发布 HelloWorld 组件

内核安装完成后可通过[官方组件仓库](https://github.com/kubebb/components)快速体验组件化的部署:

:::tip
**kubebb**[官方组件仓库](https://github.com/kubebb/components),内核安装过程中默认添加,提供多个认证仓库、组件和组件应用.
:::tip 前提条件
已完成 Kubebb 的安装,参考[安装 Kubebb](./quick-install.md)
:::

1. 通过以下命令查看仓库列表:
Kubebb 安装完成后,可通过[官方组件仓库](https://github.com/kubebb/components)快速体验组件的部署和使用。本章节主要以 HelloWorld 组件为例,演示组件发布、安装、使用流程。

```shell
kubectl get repository -nkubebb-system
```
kubebb 为内置的官方组件仓库,提供多功能组件。 HelloWorld 组件作为演示组件内置在<组件市场>中。

默认情况下,至少包含仓库**kubebb**

```shell
(base) ➜ charts git:(dev) kubectl get repository -nkubebb-system
NAME AGE
kubebb 14m
```

如果没有看到**kubebb**,可手动添加:
1. 进入【组件市场/组件仓库管理】,即可查看到仓库 `kubebb`,如果没有,可手动添加

```shell
kubectl apply -f https://raw.githubusercontent.com/kubebb/components/main/repos/repository_kubebb.yaml
```

2. 获取官方仓库中的组件

```shell
kubectl get components -nkubebb-system -l kubebb.component.repository=kubebb
```

如果一切正常,输出如下:

```shell
NAME AGE
kubebb.bc-apis 135m
kubebb.bc-depository 135m
kubebb.bc-explorer 135m
kubebb.cluster-component 135m
kubebb.fabric-operator 135m
kubebb.ingress-nginx 135m
kubebb.kubebb 135m
kubebb.kubebb-core 135m
kubebb.minio 135m
kubebb.tekton-operator 135m
kubebb.u4a-component 135m
kubebb.weaviate 135m
```

3. 部署一个组件

> 以部署`kubebb.minio`为例
```shell
kubectl apply -f https://raw.githubusercontent.com/kubebb/components/main/examples/minio/componentplan.yaml
```

查看组件部署状态:

```shell
kubectl get componentplan my-minio -oyaml
```

查看组件Pod状态

```shell
kubectl get pods -l core.kubebb.k8s.com.cn/componentplan=my-minio
```

如果一切正常,输出如下:

```shell
NAME READY STATUS RESTARTS AGE
my-minio-0 1/1 Running 0 42h
my-minio-1 1/1 Running 0 42h
my-minio-2 1/1 Running 0 42h
```

## 部署一个私有仓库

1. 在官方仓库中部署chartmuseum

```shell
kubectl apply -f https://raw.githubusercontent.com/kubebb/components/main/examples/chartmuseum/componentplan.yaml
```

2. 添加仓库

```yaml
# repository_chartmuseum.yaml
apiVersion: core.kubebb.k8s.com.cn/v1alpha1
kind: Repository
metadata:
name: chartmuseum
namespace: kubebb-system
spec:
url: http://chartmuseum.kubebb-system.svc.cluster.local:8080
pullStategy:
intervalSeconds: 120
retry: 5
```
创建仓库
```shell
kubectl apply -f repository_chartmuseum.yaml
```

执行结果

```shell
kubectl get repository -nkubebb-system
NAME AGE
chartmuseum 4m41s
kubebb 15h
```

端口暴露

```shell
kubectl port-forward service/chartmuseum 8080:8080 -nkubebb-system
```

上传自定义chart

```shell
helm create mychart
cd mychart
helm package .
curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts
```

从私有仓库中查看

```
kubectl get component -l kubebb.component.repository=chartmuseum -nkubebb-system
NAME AGE
chartmuseum.mychart 4m27s
```

## 体验自定义配置
2. 进入【组件市场/组件市场】,搜索“hello”,如下图,示例组件(hello-world)

1. 自定义门户的主色调
```shell
kubectl edit cm portal-global-configs -n u4a-system
```
修改 primaryColor 即可自定义门户主色调
```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: portal-global-configs
data:
global-configs: |
{"theme": {"primaryColor": "#FE8F35"}}
```
2. 自定义菜单
kubebb 的所有菜单均基于 menu 的 CRD 进行定义,如果需要添加自己的菜单,可以参考以下 memnu 示例:
```yaml
# 主菜单
apiVersion: component.t7d.io/v1beta1
kind: Menu
metadata:
name: demo-menu
spec:
column: 1
isRenderSelectCurrent: false
parentOwnerReferences:
apiVersion: ""
kind: ""
name: ""
uid: ""
rankingInColumn: 100
tenant: true
text: 测试菜单
textEn: "Test Menu"
---
# 测试菜单索引菜单
apiVersion: component.t7d.io/v1beta1
kind: Menu
metadata:
name: demo-menu-index
spec:
getTitleForReplaceSider: {}
parentOwnerReferences:
apiVersion: component.t7d.io/v1beta1
blockOwnerDeletion: false
controller: false
kind: Menu
name: demo-menu
uid: ""
rankingInColumn: 100
tenant: true
text: 菜单索引项
textEn: “Menu Index Item"
---
# 子菜单,具备实际链接功能
apiVersion: component.t7d.io/v1beta1
kind: Menu
metadata:
name: demo-menu-submenu1
spec:
getTitleForReplaceSider: {}
isRenderSelectCurrent: false
parentOwnerReferences:
apiVersion: component.t7d.io/v1beta1
blockOwnerDeletion: false
controller: false
kind: Menu
name: demo-menu-index
uid: ""
pathname: /demo-feature1
rankingInColumn: 200
text: 测试子菜单
textEn: "Test Submenu"
```
![组件市场](images/componetmarket.png)

使用 `kubectl apply -f` 即可将菜单项部署到环境中,如下图所示:
![图 1](images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png)
3. 单击组件卡片的**安装**,进入安装页面,示例组件各选项配置说明如下:填写部署名称,选择组件版本,选择安装位置(租户、项目),检查 values.yaml。

* 详细介绍参考 [自定义菜单](docs/develop-guid/building-base/configuration/customize-menu.md)
- 部署名称:例helloworld,`由3~53个小写字母、数字、中划线“-”组成,并以字母、数字开头或结尾`
- 更新方式:默认手动即可
- 组件版本:默认第一个0.1.0即可
- 安装位置:按您需要选择租户、项目
- values.yaml:无需改动。如果安装其他组件,请点击页面上方 “安装说明” 查看是否需要调整配置文件内容。
- 镜像替换:本示例暂无需添加替换规则

3. 多语言 & 白天/黑夜模式
![组件安装](images/componetinstall.png)

1)通过右上角的语言切换按钮进行多语言切换,目前支持中文、英文两种语言
4. 点击**确定**,开始安装,自动跳转到所选租户、项目&集群的<我安装的>列表页面,查看安装结果。
5. 安装成功后,刷新页面,点击左上角所有菜单,可见,至此完成组件安装、使用流程。

2)通过右上角的按钮切换白天/黑夜模式
![菜单](images/menu.png)
19 changes: 10 additions & 9 deletions docs/user-guid/component_anagement.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,16 @@ sidebar_label: 组件管理
操作步骤如下:
1. 进入[组件市场/组件管理/我发布的]页面,点击** +组件发布 **
2. 弹框中选择组件仓库,上传 helm 包,**确定**后,即开始发布组件,发布成功,返回列表页面
- 组件仓库仅展示 Chart Museum 类型的仓库
3. “我发布的”列表中展示组件名称、最新版本、组件仓库、当前状态、更新时间,操作:更新、删除
- 当前状态有两种,同步中、正常。
- 更新组件,不可修改组件仓库,可上传新的 helm 包,即发布新版本。
- 删除组件,即删除其所有版本信息,删除后将不再<组件市场>展示。
4. 点击**组件名称**,进入其详情页,展示组件版本列表、组件仓库名称、组件关键词、产品介绍信息
5. 组件详情页,选择版本后,支持删除某一版本
4. 点击**组件名称**,进入其详情页,展示组件版本列表、组件仓库名称、组件关键词、产品介绍信息
5. 组件详情页,选择版本后,支持删除某一版本,即仅删除此版本的相关信息。

:::info
- 目前仅支持系统管理员admin发布组件到Chart Museum类型的仓库
- 目前仅支持系统管理员admin发布组件到Chart Museum类型的仓库,更多仓库类型,后续版本支持
- 用户主动将组件所有版本均设置为“废弃”状态,则不会显示在“我发布的”列表及组件市场中
:::

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

Expand Down
4 changes: 2 additions & 2 deletions docs/user-guid/component_rating.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ sidebar_label: 组件评测

## 评测规则说明

内置安全性、可靠性、可用性三类评测任务,将任务执行结果发给 AI 进行评估。AI 分三个类别返回评分和评估结果,最终组件评分取平均值。具体评测任务介绍和评估规则技术说明,详见[**内核Kit/组件评测**](../core/rating)
内置安全性、可靠性、可用性三类评测任务,将任务执行结果发给 AI 进行评估。AI 分三个类别返回评分和评估结果,最终组件评分取平均值。具体评测任务介绍和评估规则技术说明,详见[**内核Kit/组件评测**](../develop-guid/core/rating/rating.md)

## 发起评测

:::tip
前提条件
- 已部署 Tekton 和 Arcadia ,部署说明详见[**启用Rating**](../core/userguide/enablerating)
- 已部署 Tekton 和 Arcadia ,部署说明详见[**快速部署**](../develop-guid/core/rating/enablerating.md)
- 组件所属组件仓库需开启`组件评测`
- 用户需要被管理员授予评测权限
:::
Expand Down
7 changes: 1 addition & 6 deletions docs/user-guid/version.md → docs/version.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ sidebar_label: 最新动态

## 2023年10月

Kubebb v0.2.0:可视化管理组件仓库、组件市场、发布组件、安装组件、订阅组件、组件评测
Kubebb v0.2.0:可视化管理组件仓库、组件市场、发布组件、安装组件、订阅组件

<table>
<tr>
Expand All @@ -30,11 +30,6 @@ Kubebb v0.2.0:可视化管理组件仓库、组件市场、发布组件、安
<td width="15%">新增</td>
</tr>
<tr>
<td width="15%">组件评测</td>
<td>使用智能 AI 对组件从安全性、可靠性、可用性三方面进行综合评测,为您的选择提供参考数据</td>
<td width="15%">新增</td>
</tr>
<tr>
<td width="15%">组件仓库管理</td>
<td>添加、编辑、删除仓库,仓库属性配置等</td>
<td width="15%">新增</td>
Expand Down
4 changes: 2 additions & 2 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ function HomepageHeader() {
<div className={styles.buttons}>
<Link
className={styles['banner-button']}
to="/docs/quick-start/prerequisite">
to="/docs/quick-start/quick-install">
教程-5min →
</Link>
</div>
Expand All @@ -48,7 +48,7 @@ function HomepageHeader() {
<div className={styles.carddesc}>由内核驱动的组件生命周期管理,集成云原生底座和低码组件,整合实现云原生三层组件模式</div>
<div className={clsx(styles.carddesc, styles.cardjoin)}>了解更多 →</div>
</Link>
<Link to="/docs/quick-start/prerequisite" className={clsx('col col--4', styles.cardItem)}>
<Link to="/docs/quick-start/quick-install" className={clsx('col col--4', styles.cardItem)}>
<div className={styles.cardtitle}>使用教程</div>
<div className={styles.carddesc}>通过本教程,可以快速搭建一个基于 Kubebb 的门户底座,并开发一个自己的 Hello world 组件,部署到门户上进行体验</div>
<div className={clsx(styles.carddesc, styles.cardjoin)}>了解更多 →</div>
Expand Down
Loading

0 comments on commit b34fa40

Please sign in to comment.