diff --git a/docs/core/roadmap.md b/docs/core/roadmap.md deleted file mode 100644 index 00b9a12c6..000000000 --- a/docs/core/roadmap.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -sidebar_position: 5 ---- - -# 路线图 - -## v0.1.0 - -- 支持管理组件仓库 **Repository** - - 支持与 Helm 仓库兼容的 **Repository Server** - - **Watcher** 监视 **Repository** -- 实现 **Component** 管理 - - **Watcher** 实现 **Components** 的 CRUD 操作 -- 支持 **ComponentPlan** 和 **Subscription** - - 允许用户订阅 **Component** 的最新版本更改 - - 使用与 Helm Chart 兼容的 **ComponentPlan** 计划组件部署 - -## v0.2.0 - -- 支持内核各控制器的**Events**记录 -- 适配 Kubebb 底座服务 -- 基于[Tekton Pipeline](https://tekton.dev/) 从 **安全性**、**可靠性** 和 **可用性** 三个维度对 **Component** 进行评级**Rating** -- 基于[Tekton Pipeline](https://tekton.dev/)实现**ComponentPlan**组件部署前的预先校验**Check** -- 组件仓库**Repository** 中启用 **auth** 和 **OCI** -- 实现与低代码平台集成 diff --git a/docs/core/userguide/component-dev.md b/docs/core/userguide/component-dev.md deleted file mode 100644 index cb866bc0e..000000000 --- a/docs/core/userguide/component-dev.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -sidebar_position: 5 ---- - -# 组件开发 - -Kubebb的组件安装包采用`Helm`模式,遵循Helm charts开发规则。除此之外,我们额外定义添加了一些特殊字段来满足一些组件的特殊性。 - - -## 组件类型 - -从功能角度,我们将组件划分为两类: - -- 系统组件,如U4A、TMF等,组件的运行需要系统管理权限 - -- 普通功能组件,如minio、weaviate等,组件可运行在任何`租户-项目`中,没有特殊限制 - - -## 通用配置 - -参考[Helm官方文档](https://helm.sh/docs/) - -## 组件高级配置 - -为支持不同组件对安装位置、权限的可控,特此额外约定了多个配置字段 - -### Chart.yaml - -`Chart.yaml`中包含组件的核心定义、版本、维护者等信息,属于`Helm`预定义的内容。为了支持额外的特殊需求,我们决定通过`annotations`来自由定义。如下所示: - -```yaml -annotations: - core.kubebb.k8s.com.cn/displayname: "内核" - core.kubebb.k8s.com.cn/restricted-tenants: "system-tenant" - core.kubebb.k8s.com.cn/restricted-namespaces: "msa-system" -``` - -- `core.kubebb.k8s.com.cn/displayname`: 用于填充组件的展示名,支持中英文 -- `core.kubebb.k8s.com.cn/restrict-tenants`: 用于设置组件安装位置的限制租户,多个租户需要通过`,`隔开 -- `ore.kubebb.k8s.com.cn/restricted-namespaces`: 用于设置组件安装位置的限制项目/命名空间,多个命名空间通过`,`隔开 diff --git a/docs/core/userguide/helmtofuture.md b/docs/core/userguide/helmtofuture.md deleted file mode 100644 index a2f2ff174..000000000 --- a/docs/core/userguide/helmtofuture.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -sidebar_position: 4 ---- -# 从 Helm 命令迁移 - -内核被设计为尽量兼容 Helm 命令,对于一个熟悉 Helm 命令的开发者或者用户,使用内核将变得很容易。 - -## helm repo add 添加仓库 - -```bash -helm repo add bitnami https://charts.bitnami.com/bitnami -``` - -添加仓库对应创建 `Repository` 资源 - -```yaml -apiVersion: core.kubebb.k8s.com.cn/v1alpha1 -kind: Repository -metadata: - name: bitnami -spec: - url: https://charts.bitnami.com/bitnami -``` - -## helm install 安装 chart - -```bash -cat << EOF > values.yaml -replicaCount: 2 -EOF - -helm install nginx bitnami/nginx --version 15.0.2 -f values.yaml --set image.registry=ddd.ccc -``` - -安装 Chart 对应创建 `ComponentPlan` 资源。 - -```yaml -apiVersion: core.kubebb.k8s.com.cn/v1alpha1 -kind: ComponentPlan -metadata: - name: nginx -spec: - approved: true - component: - name: bitnami.nginx - namespace: default - name: nginx - override: - valuesFrom: - - kind: ConfigMap - name: nginx - valuesKey: values.yaml - set: - - image.registry=ddd.ccc - version: 15.0.2 ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: nginx -data: - values.yaml: | - replicaCount: 2 -``` - -## helm upgrade 更新版本 - -```bash -helm upgrade nginx bitnami/nginx --set image.registry=docker.io -``` - -升级版本,这里有 2 个方法: - -1. 用新的配置创建一个 `ComponentPlan`,只要保证 `metadata.namespace`(对应 `helm release` 的 `namespace`)和 `spec.name`(对应 `helm release` 的 `name`)一致,就会升级对应的 `helm release`。 -2. 在原来的 `ComponentPlan` 基础上修改。相比较前者,这种方式不会保留历史,更灵活。前一种方式可以进行回滚。 - -## helm uninstall 删除 release - -```bash -helm uninstall nginx -``` - -删除 release,对应删除 `ComponentPlan`。因为 `ComponentPlan` 和 `helm release` 的关系是可以多对一,要注意,需要删除 `status.latest` 为 `True`(表明当前 `ComponentPlan` 对应 `helm release` 的最新版本)或者 `status.installedRevision` 和当前 `helm release` 版本一致的 `Componentplan` - -## helm rollback 回滚 release - -```bash -helm rollback nginx 1 -``` - -回滚,只需要在想要回滚到的 `ComponentPlan` 上增加一个 label:`core.kubebb.k8s.com.cn/rollback: ture` 即可。 diff --git a/docs/develop-guid/_category_.json b/docs/develop-guid/_category_.json new file mode 100644 index 000000000..e6a15e6a6 --- /dev/null +++ b/docs/develop-guid/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "开发指南", + "position": 4 +} \ No newline at end of file diff --git a/docs/building-base/_category_.json b/docs/develop-guid/building-base/_category_.json similarity index 89% rename from docs/building-base/_category_.json rename to docs/develop-guid/building-base/_category_.json index 430b6b7ac..11a000e6c 100644 --- a/docs/building-base/_category_.json +++ b/docs/develop-guid/building-base/_category_.json @@ -1,6 +1,6 @@ { "label": "底座Kit", - "position": 4, + "position": 3, "link": { "type": "generated-index", "description": "提供底座服务,快速开始搭建服务门户" diff --git a/docs/building-base/add-cluster.md b/docs/develop-guid/building-base/add-cluster.md similarity index 92% rename from docs/building-base/add-cluster.md rename to docs/develop-guid/building-base/add-cluster.md index e636827ad..fe782b18d 100644 --- a/docs/building-base/add-cluster.md +++ b/docs/develop-guid/building-base/add-cluster.md @@ -14,7 +14,7 @@ export TOKENNAME=$(kubectl get serviceaccount/host-cluster-reader -n u4a-system kubectl get secret $TOKENNAME -n u4a-system -o jsonpath='{.data.token}' | base64 -d ``` -3. 登录管理平台,进入 “集群管理”,参考 [安装底座](../quick-start/buildingbase_quickstart.md),点击“添加集群”。 +3. 登录管理平台,进入 “集群管理”,参考 [安装底座](docs/quick-start/buildingbase_quickstart.md),点击“添加集群”。 4. 输入集群名称,按需修改集群后缀,这里使用“API Token”方式接入集群。 diff --git a/docs/building-base/configuration/3rd-party-account.md b/docs/develop-guid/building-base/configuration/3rd-party-account.md similarity index 100% rename from docs/building-base/configuration/3rd-party-account.md rename to docs/develop-guid/building-base/configuration/3rd-party-account.md diff --git a/docs/building-base/configuration/_category_.json b/docs/develop-guid/building-base/configuration/_category_.json similarity index 100% rename from docs/building-base/configuration/_category_.json rename to docs/develop-guid/building-base/configuration/_category_.json diff --git a/docs/building-base/configuration/audit-config.md b/docs/develop-guid/building-base/configuration/audit-config.md similarity index 98% rename from docs/building-base/configuration/audit-config.md rename to docs/develop-guid/building-base/configuration/audit-config.md index dce88b0de..59e447dc8 100644 --- a/docs/building-base/configuration/audit-config.md +++ b/docs/develop-guid/building-base/configuration/audit-config.md @@ -5,7 +5,7 @@ sidebar_position: 3 # 配置审计能力 :::tip -注意,审计功能依赖对审计日志的采集功能,需要在集群设置中配置日志服务 ElasticSearch 的地址,日志服务的配置参考[日志组件](../../component-market/logging.md) +注意,审计功能依赖对审计日志的采集功能,需要在集群设置中配置日志服务 ElasticSearch 的地址,日志服务的配置参考[日志组件](docs/component-market/logging.md) ::: 1、编辑 audit-policy.yaml 文件对审计进行配置,```kubectl edit cm audit-policy-conf -n u4a-system``` diff --git a/docs/building-base/configuration/customize-menu.md b/docs/develop-guid/building-base/configuration/customize-menu.md similarity index 100% rename from docs/building-base/configuration/customize-menu.md rename to docs/develop-guid/building-base/configuration/customize-menu.md diff --git a/docs/building-base/configuration/customize-portal.md b/docs/develop-guid/building-base/configuration/customize-portal.md similarity index 100% rename from docs/building-base/configuration/customize-portal.md rename to docs/develop-guid/building-base/configuration/customize-portal.md diff --git a/docs/building-base/configuration/images/19b4c83b8381c4f6c82d3526ccdbc309014fac7a9f1f502854b9c6251eea03be.png b/docs/develop-guid/building-base/configuration/images/19b4c83b8381c4f6c82d3526ccdbc309014fac7a9f1f502854b9c6251eea03be.png similarity index 100% rename from docs/building-base/configuration/images/19b4c83b8381c4f6c82d3526ccdbc309014fac7a9f1f502854b9c6251eea03be.png rename to docs/develop-guid/building-base/configuration/images/19b4c83b8381c4f6c82d3526ccdbc309014fac7a9f1f502854b9c6251eea03be.png diff --git a/docs/building-base/configuration/images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png b/docs/develop-guid/building-base/configuration/images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png similarity index 100% rename from docs/building-base/configuration/images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png rename to docs/develop-guid/building-base/configuration/images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png diff --git a/docs/building-base/configuration/images/73946089d53ccbedf6b6c58cbb6cb8c55e3bd650bc3beede41ea1622211d02bd.png b/docs/develop-guid/building-base/configuration/images/73946089d53ccbedf6b6c58cbb6cb8c55e3bd650bc3beede41ea1622211d02bd.png similarity index 100% rename from docs/building-base/configuration/images/73946089d53ccbedf6b6c58cbb6cb8c55e3bd650bc3beede41ea1622211d02bd.png rename to docs/develop-guid/building-base/configuration/images/73946089d53ccbedf6b6c58cbb6cb8c55e3bd650bc3beede41ea1622211d02bd.png diff --git a/docs/building-base/configuration/images/7ef885f51a16d83577089c409efafa2583f60d9376d5efc7d03cb7faa4092fbf.png b/docs/develop-guid/building-base/configuration/images/7ef885f51a16d83577089c409efafa2583f60d9376d5efc7d03cb7faa4092fbf.png similarity index 100% rename from docs/building-base/configuration/images/7ef885f51a16d83577089c409efafa2583f60d9376d5efc7d03cb7faa4092fbf.png rename to docs/develop-guid/building-base/configuration/images/7ef885f51a16d83577089c409efafa2583f60d9376d5efc7d03cb7faa4092fbf.png diff --git a/docs/building-base/configuration/images/94ca51f03578085968c8e1ffd03f27606ed0d473e32d5eb511feff0513e4ff11.png b/docs/develop-guid/building-base/configuration/images/94ca51f03578085968c8e1ffd03f27606ed0d473e32d5eb511feff0513e4ff11.png similarity index 100% rename from docs/building-base/configuration/images/94ca51f03578085968c8e1ffd03f27606ed0d473e32d5eb511feff0513e4ff11.png rename to docs/develop-guid/building-base/configuration/images/94ca51f03578085968c8e1ffd03f27606ed0d473e32d5eb511feff0513e4ff11.png diff --git a/docs/building-base/configuration/issue-oidc-proxy-certs.md b/docs/develop-guid/building-base/configuration/issue-oidc-proxy-certs.md similarity index 100% rename from docs/building-base/configuration/issue-oidc-proxy-certs.md rename to docs/develop-guid/building-base/configuration/issue-oidc-proxy-certs.md diff --git a/docs/building-base/configuration/oidc-integration.md b/docs/develop-guid/building-base/configuration/oidc-integration.md similarity index 100% rename from docs/building-base/configuration/oidc-integration.md rename to docs/develop-guid/building-base/configuration/oidc-integration.md diff --git a/docs/building-base/images/dev_arch.png b/docs/develop-guid/building-base/images/dev_arch.png similarity index 100% rename from docs/building-base/images/dev_arch.png rename to docs/develop-guid/building-base/images/dev_arch.png diff --git a/docs/building-base/intro.md b/docs/develop-guid/building-base/intro.md similarity index 100% rename from docs/building-base/intro.md rename to docs/develop-guid/building-base/intro.md diff --git a/docs/component-market/_category_.json b/docs/develop-guid/component-market/_category_.json similarity index 100% rename from docs/component-market/_category_.json rename to docs/develop-guid/component-market/_category_.json diff --git a/docs/component-market/blockchain.md b/docs/develop-guid/component-market/blockchain.md similarity index 100% rename from docs/component-market/blockchain.md rename to docs/develop-guid/component-market/blockchain.md diff --git a/docs/component-market/kubedashboard.md b/docs/develop-guid/component-market/kubedashboard.md similarity index 100% rename from docs/component-market/kubedashboard.md rename to docs/develop-guid/component-market/kubedashboard.md diff --git a/docs/component-market/kubelogin.md b/docs/develop-guid/component-market/kubelogin.md similarity index 100% rename from docs/component-market/kubelogin.md rename to docs/develop-guid/component-market/kubelogin.md diff --git a/docs/component-market/logging.md b/docs/develop-guid/component-market/logging.md similarity index 100% rename from docs/component-market/logging.md rename to docs/develop-guid/component-market/logging.md diff --git a/docs/component-market/monitoring.md b/docs/develop-guid/component-market/monitoring.md similarity index 100% rename from docs/component-market/monitoring.md rename to docs/develop-guid/component-market/monitoring.md diff --git a/docs/core/_category_.json b/docs/develop-guid/core/_category_.json similarity index 87% rename from docs/core/_category_.json rename to docs/develop-guid/core/_category_.json index 0305f9d16..8d726ccf5 100644 --- a/docs/core/_category_.json +++ b/docs/develop-guid/core/_category_.json @@ -1,6 +1,6 @@ { "label": "内核Kit", - "position": 3, + "position": 2, "link": { "type": "generated-index", "description": "管理组件生命周期" diff --git a/docs/core/concepts/_category_.json b/docs/develop-guid/core/concepts/_category_.json similarity index 100% rename from docs/core/concepts/_category_.json rename to docs/develop-guid/core/concepts/_category_.json diff --git a/docs/core/concepts/buildingbase_resources.md b/docs/develop-guid/core/concepts/buildingbase_resources.md similarity index 100% rename from docs/core/concepts/buildingbase_resources.md rename to docs/develop-guid/core/concepts/buildingbase_resources.md diff --git a/docs/core/concepts/component.md b/docs/develop-guid/core/concepts/component.md similarity index 100% rename from docs/core/concepts/component.md rename to docs/develop-guid/core/concepts/component.md diff --git a/docs/core/concepts/componentplan.md b/docs/develop-guid/core/concepts/componentplan.md similarity index 99% rename from docs/core/concepts/componentplan.md rename to docs/develop-guid/core/concepts/componentplan.md index 73c0e5372..7a44c0679 100644 --- a/docs/core/concepts/componentplan.md +++ b/docs/develop-guid/core/concepts/componentplan.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 4 --- # 组件部署 diff --git a/docs/core/userguide/imageoverride.md b/docs/develop-guid/core/concepts/imageoverride.md similarity index 99% rename from docs/core/userguide/imageoverride.md rename to docs/develop-guid/core/concepts/imageoverride.md index cb0a68eb8..ee19ebe62 100644 --- a/docs/core/userguide/imageoverride.md +++ b/docs/develop-guid/core/concepts/imageoverride.md @@ -1,7 +1,7 @@ --- sidebar_position: 3 --- -# “镜像替换”功能的完整说明 +# 镜像替换 ## 介绍 diff --git a/docs/core/concepts/rating.md b/docs/develop-guid/core/concepts/rating.md similarity index 100% rename from docs/core/concepts/rating.md rename to docs/develop-guid/core/concepts/rating.md diff --git a/docs/core/concepts/repository.md b/docs/develop-guid/core/concepts/repository.md similarity index 100% rename from docs/core/concepts/repository.md rename to docs/develop-guid/core/concepts/repository.md diff --git a/docs/core/concepts/subscription.md b/docs/develop-guid/core/concepts/subscription.md similarity index 100% rename from docs/core/concepts/subscription.md rename to docs/develop-guid/core/concepts/subscription.md diff --git a/docs/core/images/componentplan-helm-release.excalidraw b/docs/develop-guid/core/images/componentplan-helm-release.excalidraw similarity index 100% rename from docs/core/images/componentplan-helm-release.excalidraw rename to docs/develop-guid/core/images/componentplan-helm-release.excalidraw diff --git a/docs/core/images/componentplan-helm-release.png b/docs/develop-guid/core/images/componentplan-helm-release.png similarity index 100% rename from docs/core/images/componentplan-helm-release.png rename to docs/develop-guid/core/images/componentplan-helm-release.png diff --git a/docs/core/images/image-changed.excalidraw b/docs/develop-guid/core/images/image-changed.excalidraw similarity index 100% rename from docs/core/images/image-changed.excalidraw rename to docs/develop-guid/core/images/image-changed.excalidraw diff --git a/docs/core/images/image-changed.png b/docs/develop-guid/core/images/image-changed.png similarity index 100% rename from docs/core/images/image-changed.png rename to docs/develop-guid/core/images/image-changed.png diff --git a/docs/core/images/rating_flow.drawio.png b/docs/develop-guid/core/images/rating_flow.drawio.png similarity index 100% rename from docs/core/images/rating_flow.drawio.png rename to docs/develop-guid/core/images/rating_flow.drawio.png diff --git a/docs/core/intro.md b/docs/develop-guid/core/intro.md similarity index 100% rename from docs/core/intro.md rename to docs/develop-guid/core/intro.md diff --git a/docs/core/userguide/_category_.json b/docs/develop-guid/core/rating/_category_.json similarity index 54% rename from docs/core/userguide/_category_.json rename to docs/develop-guid/core/rating/_category_.json index 3f3f4eac1..5a5048135 100644 --- a/docs/core/userguide/_category_.json +++ b/docs/develop-guid/core/rating/_category_.json @@ -1,8 +1,8 @@ { - "label": "用户指南", + "label": "组件评测", "position": 3, "link": { "type": "generated-index", - "description": "用户指南" + "description": "组件评测" } } \ No newline at end of file diff --git a/docs/core/userguide/enablerating.md b/docs/develop-guid/core/rating/enablerating.md similarity index 98% rename from docs/core/userguide/enablerating.md rename to docs/develop-guid/core/rating/enablerating.md index dd76ff175..0013c6bca 100644 --- a/docs/core/userguide/enablerating.md +++ b/docs/develop-guid/core/rating/enablerating.md @@ -2,12 +2,12 @@ sidebar_position: 1 --- -# 启用Rating +# 快速部署 默认情况下,Rating组件评级功能是关闭的,需要手动启用。我们建议按照以下步骤启用Rating: :::tip -详细了解更多Rating有关内容,请参考[组件评级设计](../rating)和[Rating CRD定义](../concepts/rating) +详细了解更多Rating有关内容,请参考[组件评测设计](../rating)和[Rating CRD定义](../concepts/rating) ::: **Rating**依赖两个组件,分别是: diff --git a/docs/core/rating.md b/docs/develop-guid/core/rating/rating.md similarity index 99% rename from docs/core/rating.md rename to docs/develop-guid/core/rating/rating.md index 0ff721e24..22cef8b4f 100644 --- a/docs/core/rating.md +++ b/docs/develop-guid/core/rating/rating.md @@ -1,8 +1,8 @@ --- -sidebar_position: 4 +sidebar_position: 2 --- -# 组件评测 +# 功能介绍 **组件评测**的目的是通过尽可能多的自动化测试从多个维度来评估一个组件。因此,**组件评测**三个部分的内容: diff --git a/docs/images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png b/docs/develop-guid/images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png similarity index 100% rename from docs/images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png rename to docs/develop-guid/images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png diff --git a/docs/images/component-lifecycle.drawio.png b/docs/develop-guid/images/component-lifecycle.drawio.png similarity index 100% rename from docs/images/component-lifecycle.drawio.png rename to docs/develop-guid/images/component-lifecycle.drawio.png diff --git a/docs/images/kubebb_overview.drawio.png b/docs/develop-guid/images/kubebb_overview.drawio.png similarity index 100% rename from docs/images/kubebb_overview.drawio.png rename to docs/develop-guid/images/kubebb_overview.drawio.png diff --git a/docs/images/kubebb_portal.png b/docs/develop-guid/images/kubebb_portal.png similarity index 100% rename from docs/images/kubebb_portal.png rename to docs/develop-guid/images/kubebb_portal.png diff --git a/docs/images/lowcode-development.png b/docs/develop-guid/images/lowcode-development.png similarity index 100% rename from docs/images/lowcode-development.png rename to docs/develop-guid/images/lowcode-development.png diff --git a/docs/develop-guid/intro.md b/docs/develop-guid/intro.md new file mode 100644 index 000000000..f5a69e12e --- /dev/null +++ b/docs/develop-guid/intro.md @@ -0,0 +1,104 @@ +--- +sidebar_position: 1 +--- + +# 总览 + +KubeBB(Kubernetes Building Blocks)是一种由[**内核**](./core/intro)驱动的组件生命周期管理平台,集成开箱即用的[**云原生底座**](./building-base/intro)和[**低码组件开发**](./lowcode-development/intro)能力,整合实现[**云原生三层组件模式**](./lowcode-development/development_pattern)。 + +![overview](./images/kubebb_overview.drawio.png) + +Kubebb提供三个**套件**: + +- [**内核 Kit**](./core/intro) + +提供**声明式的组件生命周期管理和组件市场**,并通过**Tekton流水线**强化低代码平台组件与底座服务的集成。 + +- [**底座 Kit**](./building-base/intro) + +提供开箱即用的云原生服务门户,包括**用户、OIDC认证、权限、审计、租户管理、门户服务等基础组件以及证书管理、Nignx Ingress**等集群组件。 + +- [**低码 Kit**](./lowcode-development/intro) + +低码 Kit 即云梯低代码平台,依托 [**Low-Code Engine**](https://lowcode-engine.cn/index) 和具有 Git 特性的关系数据库 [**Dolt**](https://www.dolthub.com/) 打造,并借助底座门户的**菜单和路由资源**以及内核套件的**组件管理**能力,实现组件开发、测试到上线的全链路能力。 + +三个核心套件之间的关系可以类比一下**操作系统**: + +- **Kubernetes** ~ **操作系统内核** +- **Core** ~ **软件安装器** +- **底座Kit** ~ **操作系统的系统软件,如GUI、用户系统、网络等** +- **低码组件开发Kit** ~ **操作系统软件开发工具** + +## 内核Kit + +**内核Kit**的是现阶段我们重点关注并研发的[**项目**](https://github.com/kubebb/core),完全遵循开源项目管理规范。现阶段我们的目标: + +### 1. 声明式的组件全生命周期管理 + +基于[**Operator Pattern**](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)开发,实现声明式的组件全生命周期管理。 + +![component-lifecycle](./images/component-lifecycle.drawio.png) + +#### 提供四个核心的CRD实现: + +- [**Repository组件仓库**](./core/concepts/repository) + +定义了组件仓库的访问信息、轮询策略和过滤选项,从而实现周期性地向仓库服务获取最新的组件列表信息。 + +- [**Component组件**](./core/concepts/component) + +记录组件的基础描述、版本列表、是否废弃等信息 + +- [**ComponentPlan组件部署**](./core/concepts/componentplan) + +定义组件安装部署的手动批准、组件引用、版本设置、类helm的配置覆盖策略,从而实现组件的可追踪部署、升级和回滚。 + +- [**Subscription组件订阅**](./core/concepts/subscription) + +定义了用户订阅组件版本更新 + +#### 一个扩展CRD实现,集成[**Tekton Pipeline**](https://tekton.dev/): + +- [**Rating组件评级**](./core/rating) + +### 2. 开放组件市场 + +组件市场是内核能力的**产品化**,作为一个适配**底座服务的组件**发布到官方组件仓库中使用,扩展KubeBB生态。 + +## 底座Kit + +**底座Kit**通过集成以下组件从而提供统一的认证中心和门户入口: + +- `u4a-component` 提供账号、认证、权限及审计管理功能,包含以下主要资料 + - [nginx ingress](https://docs.nginx.com/nginx-ingress-controller/) + - [cert-manager](https://cert-manager.io/) + - [基于 dex 构建](https://github.com/dexidp/dex) + - [多租户基于 capsule 构建](https://github.com/clastix/capsule) + - [oidc-proxy 基于 kube-oidc-proxy 构建](https://github.com/jetstack/kube-oidc-proxy) + +![portal](./images/kubebb_portal.png) + +## 低码 Kit + +**低码 Kit**提供[**三层组件开发模式**](./lowcode-development/development_pattern)中的[**前端模块研发**](./lowcode-development/development/frontend)、出码能力,并借助**内核 Kit**完成标准化打包、测试、发布,后续 BFF 层也会探索低码的开发模式。 + +![lowcode_development](./images/lowcode-development.png) + +## 技术架构 +平台开发采取前后端分离,以 K8S 为核心的开发框架,遵循 K8S 的扩展机制及 API 规范,整体开发架构的基本逻辑如下图所示: +![图 2](images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png) + +1. 所有组件的开发、扩展的认证都通过统一认证中心进行认证 +2. 认证由微前端的主框架 DockApp 统一进行,其他微前端的扩展不需要单独支持同认证中心的处理 +3. 开发架构上整体可以按照三层来看 +- 第一层,前端采用微前端架构,尽量采用低代码方式进行开发,提高代码自动化生成比例 +- 第二层,根据业务需求增加 OpenAPI,形成统一的 BFF 层,对 API 进行聚合,提供前端所需要的业务场景数据 +- 后端采用 CRD + controller 的 Operator 模式进行开发,形成数据驱动的流程开发模式 +1. 对外 API 主要包括两部分: +- 从 BFF 层提供的 OpenAPI +- 从 K8S 层提供的资源 API + +## 获取更多组件 +浏览 [组件市场](/docs/category/组件市场),安装更多需要的服务组件到门户中,比如: +* [kubedashboard](/docs/component-market/kubedashboard) +* [kubelogin](/docs/component-market/kubelogin) diff --git a/docs/lowcode-development/_category_.json b/docs/develop-guid/lowcode-development/_category_.json similarity index 91% rename from docs/lowcode-development/_category_.json rename to docs/develop-guid/lowcode-development/_category_.json index 8903d671e..ee68f00bc 100644 --- a/docs/lowcode-development/_category_.json +++ b/docs/develop-guid/lowcode-development/_category_.json @@ -1,6 +1,6 @@ { "label": "低码 Kit", - "position": 5, + "position": 4, "link": { "type": "generated-index", "description": "可使用低码 Kit 开发自己服务组件,并添加到服务门户中。" diff --git a/docs/lowcode-development/development/_category_.json b/docs/develop-guid/lowcode-development/development/_category_.json similarity index 100% rename from docs/lowcode-development/development/_category_.json rename to docs/develop-guid/lowcode-development/development/_category_.json diff --git a/docs/lowcode-development/development/bff-apis.md b/docs/develop-guid/lowcode-development/development/bff-apis.md similarity index 100% rename from docs/lowcode-development/development/bff-apis.md rename to docs/develop-guid/lowcode-development/development/bff-apis.md diff --git a/docs/lowcode-development/development/develop-hello-world.md b/docs/develop-guid/lowcode-development/development/develop-hello-world.md similarity index 100% rename from docs/lowcode-development/development/develop-hello-world.md rename to docs/develop-guid/lowcode-development/development/develop-hello-world.md diff --git a/docs/lowcode-development/development/frontend-low-code.md b/docs/develop-guid/lowcode-development/development/frontend-low-code.md similarity index 100% rename from docs/lowcode-development/development/frontend-low-code.md rename to docs/develop-guid/lowcode-development/development/frontend-low-code.md diff --git a/docs/lowcode-development/development/frontend.md b/docs/develop-guid/lowcode-development/development/frontend.md similarity index 100% rename from docs/lowcode-development/development/frontend.md rename to docs/develop-guid/lowcode-development/development/frontend.md diff --git a/docs/lowcode-development/development/images/app-publish.png b/docs/develop-guid/lowcode-development/development/images/app-publish.png similarity index 100% rename from docs/lowcode-development/development/images/app-publish.png rename to docs/develop-guid/lowcode-development/development/images/app-publish.png diff --git a/docs/lowcode-development/development/images/app_create.png b/docs/develop-guid/lowcode-development/development/images/app_create.png similarity index 100% rename from docs/lowcode-development/development/images/app_create.png rename to docs/develop-guid/lowcode-development/development/images/app_create.png diff --git a/docs/lowcode-development/development/images/app_publish_tab.png b/docs/develop-guid/lowcode-development/development/images/app_publish_tab.png similarity index 100% rename from docs/lowcode-development/development/images/app_publish_tab.png rename to docs/develop-guid/lowcode-development/development/images/app_publish_tab.png diff --git a/docs/lowcode-development/development/images/assets_component_add.png b/docs/develop-guid/lowcode-development/development/images/assets_component_add.png similarity index 100% rename from docs/lowcode-development/development/images/assets_component_add.png rename to docs/develop-guid/lowcode-development/development/images/assets_component_add.png diff --git a/docs/lowcode-development/development/images/assets_npm_add.png b/docs/develop-guid/lowcode-development/development/images/assets_npm_add.png similarity index 100% rename from docs/lowcode-development/development/images/assets_npm_add.png rename to docs/develop-guid/lowcode-development/development/images/assets_npm_add.png diff --git a/docs/lowcode-development/development/images/assets_npm_bff.png b/docs/develop-guid/lowcode-development/development/images/assets_npm_bff.png similarity index 100% rename from docs/lowcode-development/development/images/assets_npm_bff.png rename to docs/develop-guid/lowcode-development/development/images/assets_npm_bff.png diff --git a/docs/lowcode-development/development/images/bff_lowcode.drawio b/docs/develop-guid/lowcode-development/development/images/bff_lowcode.drawio similarity index 100% rename from docs/lowcode-development/development/images/bff_lowcode.drawio rename to docs/develop-guid/lowcode-development/development/images/bff_lowcode.drawio diff --git a/docs/lowcode-development/development/images/bff_lowcode.png b/docs/develop-guid/lowcode-development/development/images/bff_lowcode.png similarity index 100% rename from docs/lowcode-development/development/images/bff_lowcode.png rename to docs/develop-guid/lowcode-development/development/images/bff_lowcode.png diff --git a/docs/lowcode-development/development/images/branches_create.png b/docs/develop-guid/lowcode-development/development/images/branches_create.png similarity index 100% rename from docs/lowcode-development/development/images/branches_create.png rename to docs/develop-guid/lowcode-development/development/images/branches_create.png diff --git a/docs/lowcode-development/development/images/fe_arch.svg b/docs/develop-guid/lowcode-development/development/images/fe_arch.svg similarity index 100% rename from docs/lowcode-development/development/images/fe_arch.svg rename to docs/develop-guid/lowcode-development/development/images/fe_arch.svg diff --git a/docs/lowcode-development/development/images/git-commit.png b/docs/develop-guid/lowcode-development/development/images/git-commit.png similarity index 100% rename from docs/lowcode-development/development/images/git-commit.png rename to docs/develop-guid/lowcode-development/development/images/git-commit.png diff --git a/docs/lowcode-development/development/images/global_add_func.png b/docs/develop-guid/lowcode-development/development/images/global_add_func.png similarity index 100% rename from docs/lowcode-development/development/images/global_add_func.png rename to docs/develop-guid/lowcode-development/development/images/global_add_func.png diff --git a/docs/lowcode-development/development/images/global_config.png b/docs/develop-guid/lowcode-development/development/images/global_config.png similarity index 100% rename from docs/lowcode-development/development/images/global_config.png rename to docs/develop-guid/lowcode-development/development/images/global_config.png diff --git a/docs/lowcode-development/development/images/members_create.png b/docs/develop-guid/lowcode-development/development/images/members_create.png similarity index 100% rename from docs/lowcode-development/development/images/members_create.png rename to docs/develop-guid/lowcode-development/development/images/members_create.png diff --git a/docs/lowcode-development/development/images/menu_create.png b/docs/develop-guid/lowcode-development/development/images/menu_create.png similarity index 100% rename from docs/lowcode-development/development/images/menu_create.png rename to docs/develop-guid/lowcode-development/development/images/menu_create.png diff --git a/docs/lowcode-development/development/images/page_add_api.png b/docs/develop-guid/lowcode-development/development/images/page_add_api.png similarity index 100% rename from docs/lowcode-development/development/images/page_add_api.png rename to docs/develop-guid/lowcode-development/development/images/page_add_api.png diff --git a/docs/lowcode-development/development/images/page_add_func.png b/docs/develop-guid/lowcode-development/development/images/page_add_func.png similarity index 100% rename from docs/lowcode-development/development/images/page_add_func.png rename to docs/develop-guid/lowcode-development/development/images/page_add_func.png diff --git a/docs/lowcode-development/development/images/page_bind_data.png b/docs/develop-guid/lowcode-development/development/images/page_bind_data.png similarity index 100% rename from docs/lowcode-development/development/images/page_bind_data.png rename to docs/develop-guid/lowcode-development/development/images/page_bind_data.png diff --git a/docs/lowcode-development/development/images/page_bind_func.png b/docs/develop-guid/lowcode-development/development/images/page_bind_func.png similarity index 100% rename from docs/lowcode-development/development/images/page_bind_func.png rename to docs/develop-guid/lowcode-development/development/images/page_bind_func.png diff --git a/docs/lowcode-development/development/images/page_code.png b/docs/develop-guid/lowcode-development/development/images/page_code.png similarity index 100% rename from docs/lowcode-development/development/images/page_code.png rename to docs/develop-guid/lowcode-development/development/images/page_code.png diff --git a/docs/lowcode-development/development/images/page_commit.png b/docs/develop-guid/lowcode-development/development/images/page_commit.png similarity index 100% rename from docs/lowcode-development/development/images/page_commit.png rename to docs/develop-guid/lowcode-development/development/images/page_commit.png diff --git a/docs/lowcode-development/development/images/page_create.png b/docs/develop-guid/lowcode-development/development/images/page_create.png similarity index 100% rename from docs/lowcode-development/development/images/page_create.png rename to docs/develop-guid/lowcode-development/development/images/page_create.png diff --git a/docs/lowcode-development/development/images/page_edit.png b/docs/develop-guid/lowcode-development/development/images/page_edit.png similarity index 100% rename from docs/lowcode-development/development/images/page_edit.png rename to docs/develop-guid/lowcode-development/development/images/page_edit.png diff --git a/docs/lowcode-development/development/images/page_edit_props.png b/docs/develop-guid/lowcode-development/development/images/page_edit_props.png similarity index 100% rename from docs/lowcode-development/development/images/page_edit_props.png rename to docs/develop-guid/lowcode-development/development/images/page_edit_props.png diff --git a/docs/lowcode-development/development/images/page_entry.png b/docs/develop-guid/lowcode-development/development/images/page_entry.png similarity index 100% rename from docs/lowcode-development/development/images/page_entry.png rename to docs/develop-guid/lowcode-development/development/images/page_entry.png diff --git a/docs/lowcode-development/development/images/page_preview.png b/docs/develop-guid/lowcode-development/development/images/page_preview.png similarity index 100% rename from docs/lowcode-development/development/images/page_preview.png rename to docs/develop-guid/lowcode-development/development/images/page_preview.png diff --git a/docs/lowcode-development/development/images/playground_graphql.jpg b/docs/develop-guid/lowcode-development/development/images/playground_graphql.jpg similarity index 100% rename from docs/lowcode-development/development/images/playground_graphql.jpg rename to docs/develop-guid/lowcode-development/development/images/playground_graphql.jpg diff --git a/docs/lowcode-development/development_pattern.md b/docs/develop-guid/lowcode-development/development_pattern.md similarity index 100% rename from docs/lowcode-development/development_pattern.md rename to docs/develop-guid/lowcode-development/development_pattern.md diff --git a/docs/lowcode-development/images/dev_arch.png b/docs/develop-guid/lowcode-development/images/dev_arch.png similarity index 100% rename from docs/lowcode-development/images/dev_arch.png rename to docs/develop-guid/lowcode-development/images/dev_arch.png diff --git a/docs/lowcode-development/images/yunti_arch.svg b/docs/develop-guid/lowcode-development/images/yunti_arch.svg similarity index 100% rename from docs/lowcode-development/images/yunti_arch.svg rename to docs/develop-guid/lowcode-development/images/yunti_arch.svg diff --git a/docs/lowcode-development/intro.md b/docs/develop-guid/lowcode-development/intro.md similarity index 100% rename from docs/lowcode-development/intro.md rename to docs/develop-guid/lowcode-development/intro.md diff --git a/docs/core/userguide/privatecluster.md b/docs/develop-guid/privatecluster.md similarity index 99% rename from docs/core/userguide/privatecluster.md rename to docs/develop-guid/privatecluster.md index 49e692647..63cf879f5 100644 --- a/docs/core/userguide/privatecluster.md +++ b/docs/develop-guid/privatecluster.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 5 --- # 私有集群部署方案 diff --git a/docs/user-guid/image/struc.png b/docs/images/struc.png similarity index 100% rename from docs/user-guid/image/struc.png rename to docs/images/struc.png diff --git a/docs/intro.md b/docs/intro.md index f5a69e12e..9d1edebc7 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -1,104 +1,70 @@ --- sidebar_position: 1 +title: 产品介绍 +sidebar_label: 产品介绍 --- -# 总览 -KubeBB(Kubernetes Building Blocks)是一种由[**内核**](./core/intro)驱动的组件生命周期管理平台,集成开箱即用的[**云原生底座**](./building-base/intro)和[**低码组件开发**](./lowcode-development/intro)能力,整合实现[**云原生三层组件模式**](./lowcode-development/development_pattern)。 +# 产品介绍 + +Kubebb(Kubernetes Building Blocks) 是一种由内核驱动的组件生命周期管理平台,集成了开箱即用的云原生底座和低码组件开发能力。 + +- **提供底座服务,快速开启搭建**:提供账号、认证(OIDC)、权限(RBAC)、审计(Audit)的基础功能,采用更加标准的技术方式提供构建的底座服务 +- **内核驱动的声明式组件管理**:提供声明式的组件仓库管理、组件同步、组件订阅、部署以及多维度的组件评级,完整适配 Helm 生态,集成微前端框架 +- **灵活的组件开发模式**:基于微前端框架和低代码开发,定义了标准的组件封装及发布模式,让开发者可以在底座之上按照开发规范进行组件的快速开发和发布,并在统一的服务门户上对外提供服务 + +官方提供的组件包括微服务治理、服务网格、API网关、应用性能监控的开源社区版本,详细介绍参见[**开源文档**](https://docs.tenxcloud.com/) + +## 功能说明 + +Kubebb 部署后主要有管理工作台、组件市场两部分能力。管理工作台用户指南详见[管理工作台](https://docs.tenxcloud.com/) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
模块说明
组件市场组件市场组件的商店,支持浏览、订阅、下载、安装组件
组件管理1. 我发布的:支持手动发布组件到仓库;支持发布多版本
2. 我安装的:支持安装、更新、卸载组件;支持历史版本管理和版本回滚
3. 我订阅的:支持订阅、取消订阅组件;支持版本更新推送
组件仓库管理1. 支持添加、编辑、删除组件仓库
2. 支持配置仓库安全认证、仓库同步设置、仓库组件过滤规则、镜像仓库替换规则、开启组件评测等
组件评测使用智能 AI 对组件从安全性、可靠性、可用性三方面进行综合评测,为您的选择提供参考数据
管理工作台集群管理1. 多集群统一视图管理
2. 资源管理:分内置和自定义资源,各资源支持yaml方式查看编辑
3. 集群角色和角色模板管理:集群角色支持绑定角色主体有成员、组和服务账号,均支持yaml方式查看和编辑
租户和项目管理1. 多租户、多项目统一视图管理:查看租户或项目标签、授权集群等
2. 租户授权集群,设置租户管理员
3. 项目授权集群,设置项目管理员
4. 项目内角色和成员管理、项目内服务账号管理
5. 对应资源均支持yaml方式编辑
主体管理管理成员和组:创建、查看、删除成员;修改成员密码;创建、查看、删除组,组内加入或移出成员
菜单管理1. 多级菜单管理,支持管理菜单名称、图标、行列排序、路径等
2. 支持默认、iframe嵌入、链接跳转三种类型的菜单样式
3. 支持设置是否可见;设置菜单的角色权限等
4. 支持使用JSON格式的菜单数据实现更多自定义菜单配置
设置管理1. 账户中心,支持查看编辑手机、邮箱;修改密码等;支持查看所属租户项目
2. 平台信息:查看正版授权信息、更新许可证等
3. API 凭证,支持查看、下载Kubeconfig
操作审计统一查看对资源的操作记录,支持租户、项目、集群、操作类型、状态、发起者等过滤查询
+ + + +## 应用场景 + +### 快速搭建您的云原生平台 + +Kubebb 提供了多集群多租户管理、菜单管理、角色和成员管理、OIDC 认证等完善的平台基础能力。内置官方组件,通过云梯低代码组件可快速发布您的应用;通过微服务框架或服务网格统一管理和治理您的应用;通过应用性能监控统一观测服务调用,设置链路告警。同时您可发布自定义组件,例如容器服务组件,形成应用的全生命周期的管理和治理。 +![overview](./images/struc.png) -![overview](./images/kubebb_overview.drawio.png) - -Kubebb提供三个**套件**: - -- [**内核 Kit**](./core/intro) - -提供**声明式的组件生命周期管理和组件市场**,并通过**Tekton流水线**强化低代码平台组件与底座服务的集成。 - -- [**底座 Kit**](./building-base/intro) - -提供开箱即用的云原生服务门户,包括**用户、OIDC认证、权限、审计、租户管理、门户服务等基础组件以及证书管理、Nignx Ingress**等集群组件。 - -- [**低码 Kit**](./lowcode-development/intro) - -低码 Kit 即云梯低代码平台,依托 [**Low-Code Engine**](https://lowcode-engine.cn/index) 和具有 Git 特性的关系数据库 [**Dolt**](https://www.dolthub.com/) 打造,并借助底座门户的**菜单和路由资源**以及内核套件的**组件管理**能力,实现组件开发、测试到上线的全链路能力。 - -三个核心套件之间的关系可以类比一下**操作系统**: - -- **Kubernetes** ~ **操作系统内核** -- **Core** ~ **软件安装器** -- **底座Kit** ~ **操作系统的系统软件,如GUI、用户系统、网络等** -- **低码组件开发Kit** ~ **操作系统软件开发工具** - -## 内核Kit - -**内核Kit**的是现阶段我们重点关注并研发的[**项目**](https://github.com/kubebb/core),完全遵循开源项目管理规范。现阶段我们的目标: - -### 1. 声明式的组件全生命周期管理 - -基于[**Operator Pattern**](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)开发,实现声明式的组件全生命周期管理。 - -![component-lifecycle](./images/component-lifecycle.drawio.png) - -#### 提供四个核心的CRD实现: - -- [**Repository组件仓库**](./core/concepts/repository) - -定义了组件仓库的访问信息、轮询策略和过滤选项,从而实现周期性地向仓库服务获取最新的组件列表信息。 - -- [**Component组件**](./core/concepts/component) - -记录组件的基础描述、版本列表、是否废弃等信息 - -- [**ComponentPlan组件部署**](./core/concepts/componentplan) - -定义组件安装部署的手动批准、组件引用、版本设置、类helm的配置覆盖策略,从而实现组件的可追踪部署、升级和回滚。 - -- [**Subscription组件订阅**](./core/concepts/subscription) - -定义了用户订阅组件版本更新 - -#### 一个扩展CRD实现,集成[**Tekton Pipeline**](https://tekton.dev/): - -- [**Rating组件评级**](./core/rating) - -### 2. 开放组件市场 - -组件市场是内核能力的**产品化**,作为一个适配**底座服务的组件**发布到官方组件仓库中使用,扩展KubeBB生态。 - -## 底座Kit - -**底座Kit**通过集成以下组件从而提供统一的认证中心和门户入口: - -- `u4a-component` 提供账号、认证、权限及审计管理功能,包含以下主要资料 - - [nginx ingress](https://docs.nginx.com/nginx-ingress-controller/) - - [cert-manager](https://cert-manager.io/) - - [基于 dex 构建](https://github.com/dexidp/dex) - - [多租户基于 capsule 构建](https://github.com/clastix/capsule) - - [oidc-proxy 基于 kube-oidc-proxy 构建](https://github.com/jetstack/kube-oidc-proxy) - -![portal](./images/kubebb_portal.png) - -## 低码 Kit - -**低码 Kit**提供[**三层组件开发模式**](./lowcode-development/development_pattern)中的[**前端模块研发**](./lowcode-development/development/frontend)、出码能力,并借助**内核 Kit**完成标准化打包、测试、发布,后续 BFF 层也会探索低码的开发模式。 - -![lowcode_development](./images/lowcode-development.png) - -## 技术架构 -平台开发采取前后端分离,以 K8S 为核心的开发框架,遵循 K8S 的扩展机制及 API 规范,整体开发架构的基本逻辑如下图所示: -![图 2](images/6b8d0cb645caee89c8df55940f5c5b3379940f8714667f8fb2dc780f3442b8f0.png) - -1. 所有组件的开发、扩展的认证都通过统一认证中心进行认证 -2. 认证由微前端的主框架 DockApp 统一进行,其他微前端的扩展不需要单独支持同认证中心的处理 -3. 开发架构上整体可以按照三层来看 -- 第一层,前端采用微前端架构,尽量采用低代码方式进行开发,提高代码自动化生成比例 -- 第二层,根据业务需求增加 OpenAPI,形成统一的 BFF 层,对 API 进行聚合,提供前端所需要的业务场景数据 -- 后端采用 CRD + controller 的 Operator 模式进行开发,形成数据驱动的流程开发模式 -1. 对外 API 主要包括两部分: -- 从 BFF 层提供的 OpenAPI -- 从 K8S 层提供的资源 API - -## 获取更多组件 -浏览 [组件市场](/docs/category/组件市场),安装更多需要的服务组件到门户中,比如: -* [kubedashboard](/docs/component-market/kubedashboard) -* [kubelogin](/docs/component-market/kubelogin) diff --git a/docs/quick-start/buildingbase_quickstart.md b/docs/quick-start/buildingbase_quickstart.md deleted file mode 100644 index 6b9cb9524..000000000 --- a/docs/quick-start/buildingbase_quickstart.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -sidebar_position: 3 ---- - -# 安装底座 - -本章节主要介绍底座组件的部署步骤,包括相关的开源技术组件、前提条件以及快速部署,并将部署的集群添加到服务门户上。 - -:::tip -安装前需完成[安装内核](./core_quickstart)。 -::: - -## 部署 - -### 1. 创建官方组件仓库 - -> 可参考[使用官方组件仓库](./core_quickstart#%E4%BD%BF%E7%94%A8%E5%AE%98%E6%96%B9%E7%BB%84%E4%BB%B6%E4%BB%93%E5%BA%93) - -### 2. 创建底座组件空间 - -:::tip -目前仅支持使用命名空间`u4a-system` -::: - -```shell - kubectl create namespace u4a-system -``` - -### 3. 部署Cluster Component - -组件部署信息`cluster_componentplan.yaml`如下: - -> 详细可[参考](https://github.com/kubebb/components/tree/main/examples/cluster-component) - -```yaml -apiVersion: core.kubebb.k8s.com.cn/v1alpha1 -kind: ComponentPlan -metadata: - name: cluster-component - namespace: u4a-system -spec: - approved: true - name: cluster-component - version: 0.1.3 - override: - set: - - ingress-nginx.controller.nodeSelector.kubernetes\.io/hostname=kubebb-core-control-plane - component: - name: kubebb.cluster-component - namespace: kubebb-system -``` - -需调整参数: - -- `override.set.ingress-nginx.controller.nodeSelector.kubernetes\.io/hostname` 将作为[ingress-nginx](https://github.com/kubebb/components/tree/main/charts/cluster-component/charts/ingress-nginx)服务节点 - -> 此处基于[kind开发集群](./prerequisite#kind开发集群)的`kubebb-core-control-plane`节点。 - -通过一下命令部署: - -```shell - kubectl apply -nu4a-system -f cluster_componentplan.yaml -``` - -`Cluster Component`部署完成后,可通过以下命令查看组件部署状态: - -```shell - kubectl get componentplan -nu4a-system cluster-component -oyaml -``` - -当组件部署状态如下时,表示组件部署成功: - -```yaml -status: - conditions: - - lastTransitionTime: "2023-07-25T08:15:41Z" - reason: "" - status: "True" - type: Approved - - lastTransitionTime: "2023-07-25T08:15:44Z" - reason: InstallSuccess - status: "True" - type: Actioned - - lastTransitionTime: "2023-07-25T08:15:44Z" - reason: "" - status: "True" - type: Succeeded -``` - -### 4. 部署U4A Component - -组件部署信息`u4a_componentplan.yaml`如下: - -```yaml -apiVersion: core.kubebb.k8s.com.cn/v1alpha1 -kind: ComponentPlan -metadata: - name: u4a-component - namespace: u4a-system -spec: - approved: true - name: u4a-component - version: 0.1.5 - wait: true - override: - valuesFrom: - - kind: ConfigMap - name: u4acm - valuesKey: "values.yaml" - component: - name: kubebb.u4a-component - namespace: kubebb-system -``` - -其中,组件`U4A-Component`的参数通过`ConfigMap`方式注入,`ConfigMap`的创建流程可参考[U4A组件部署流程](https://github.com/kubebb/components/tree/main/examples/u4a-component#install-u4a-component) - -通过一下命令部署: - -```shell - kubectl apply -nu4a-system -f u4a_componentplan.yaml -``` - -`U4A Component`部署完成后,可通过以下命令查看组件部署状态: - -```shell - kubectl get componentplan -nu4a-system u4a-component -oyaml -``` - -### 5. 访问底座服务门户 - -通过以下命令获取门户服务的访问地址: - -```shell -(base) ➜ ~ kubectl get ingress -nu4a-system -NAME CLASS HOSTS ADDRESS PORTS AGE -bff-server-ingress portal.172.18.0.2.nip.io 80, 443 4h55m -bff-server-ingress-socket portal.172.18.0.2.nip.io 80, 443 4h55m -kube-oidc-proxy-server-ingress k8s.172.18.0.2.nip.io 80, 443 4h55m -``` - -通过浏览器访问`https://portal.172.18.0.2.nip.io`即可进入服务门户。默认的用户名密码为 - -- 用户名: `admin` -- 密码: `kubebb-admin` - -> 注意: 由于使用了[nip.io](https://nip.io/)作为域名解析服务,因此需要将`HOSTS`中的域名解析到`ADDRESS`对应的IP地址上。 - -## 卸载 - -### 1. 卸载U4A Component - -```shell - kubectl delete componentplan -nu4a-system u4a-component -``` - -### 2. 卸载Cluster Component - -```shell - kubectl delete componentplan -nu4a-system cluster-component -``` diff --git a/docs/quick-start/prerequisite.md b/docs/quick-start/prerequisite.md deleted file mode 100644 index 1d54bad58..000000000 --- a/docs/quick-start/prerequisite.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -sidebar_position: 1 ---- - -# 预先准备 - -## 基础环境 - -- [Helm](https://helm.sh/docs/intro/install/) +3.0 客户端 -- [Kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) 客户端 - -## Kubernetes集群 - -:::tip -如果没有kubernets集群,可按照下述教程通过[kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)部署一个开发集群。默认情况下,为适配`building base`,集群至少有一个节点需要为`Ingress Controller`服务节点,并暴露`80`和`443`端口。 -::: - -### Kind开发集群 - -1. 安装kind - -> 参考: https://kind.sigs.k8s.io/docs/user/quick-start/#installation - -Linux环境为例: - -```shell -# For AMD64 / x86_64 -[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 -# For ARM64 -[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-arm64 -chmod +x ./kind -sudo mv ./kind /usr/local/bin/kind -``` - -2. 准备单节点集群[配置文件](https://github.com/kubebb/core/blob/main/tests/kind-config.yaml)`kind-config.yaml` - -:::tip - -- 此处采用v1.24.13版本,其他版本请自行替换. [版本列表](https://hub.docker.com/r/kindest/node/tags?page=1&ordering=last_updated)。 -- 如需创建多节点集群,可参考[3节点配置文件](https://github.com/kubebb/core/blob/main/tests/kind-config-3nodes.yaml) - -::: - -```yaml -kind: Cluster -apiVersion: kind.x-k8s.io/v1alpha4 -name: kubebb-core -nodes: - - role: control-plane - image: kindest/node:v1.24.13 - kubeadmConfigPatches: - - | - kind: InitConfiguration - nodeRegistration: - kubeletExtraArgs: - node-labels: "ingress-ready=true" - extraPortMappings: - - containerPort: 80 - hostPort: 80 - protocol: TCP - - containerPort: 443 - hostPort: 443 - protocol: TCP -``` - -3. 创建集群 - -```shell -kind create cluster --config=kind-config.yaml -``` - -4. 查看集群状态 - -```shell -kubectl cluster-info --context kind-kubebb-core -``` - -如果一切正常,输出如下: - -```shell -Kubernetes control plane is running at https://127.0.0.1:42607 -CoreDNS is running at https://127.0.0.1:42607/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy - -To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. -``` - -5. 查看集群节点 - -```shell -kubectl get nodes -``` - -如果一切正常,输出如下: - -```shell -NAME STATUS ROLES AGE VERSION -kubebb-core-control-plane Ready control-plane 21m v1.24.13 -``` - -通过`docker ps`可发现该节点已经暴露了`80`和`443`端口: - -```shell -(base) ➜ building-base git:(azure) docker ps -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -e4e3820cdb5a kindest/node:v1.24.13 "/usr/local/bin/entr…" 22 minutes ago Up 22 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 127.0.0.1:33611->6443/tcp kubebb-core-control-plane -``` diff --git a/docs/quick-start/core_quickstart.md b/docs/quick-start/quick-experience.md similarity index 58% rename from docs/quick-start/core_quickstart.md rename to docs/quick-start/quick-experience.md index 9c3188cf2..f2a97c5c1 100644 --- a/docs/quick-start/core_quickstart.md +++ b/docs/quick-start/quick-experience.md @@ -1,54 +1,8 @@ --- -sidebar_position: 2 +sidebar_position: 4 --- -# 安装内核 - -:::tip -安装前需完成[预先准备](./prerequisite)。 -::: - -## 安装 - -:::tip -Kubebb官方提供了helm仓库,方便用户安装: https://kubebb.github.io/components/ -::: - -1. 添加helm仓库 - -```shell -helm repo add kubebb https://kubebb.github.io/components/ -helm repo update -``` - -2. 创建命名空间 - -> 请根据实际情况修改命名空间名称 - -```shell -kubectl create namespace kubebb-system -``` - -3. 安装 - -```shell -helm install -nkubebb-system kubebb-core kubebb/kubebb-core -``` - -4. 查看安装状态 - -```shell -kubectl get pods -nkubebb-system -``` - -如果一切正常,输入如下: - -```shell -NAME READY STATUS RESTARTS AGE -kubebb-core-6bd7c5f679-742mq 1/1 Running 0 21h -``` - -## 快速体验 +# 发布 HelloWorld 组件 内核安装完成后可通过[官方组件仓库](https://github.com/kubebb/components)快速体验组件化的部署: @@ -189,4 +143,94 @@ 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 -``` \ No newline at end of file +``` + +## 体验自定义配置 + +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" +``` + +使用 `kubectl apply -f` 即可将菜单项部署到环境中,如下图所示: +![图 1](images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png) + +* 详细介绍参考 [自定义菜单](docs/develop-guid/building-base/configuration/customize-menu.md) + +3. 多语言 & 白天/黑夜模式 + +1)通过右上角的语言切换按钮进行多语言切换,目前支持中文、英文两种语言 + +2)通过右上角的按钮切换白天/黑夜模式 diff --git a/docs/quick-start/quick-install.md b/docs/quick-start/quick-install.md new file mode 100644 index 000000000..2f914c8de --- /dev/null +++ b/docs/quick-start/quick-install.md @@ -0,0 +1,295 @@ +--- +sidebar_position: 1 +--- + +# 安装 Kubebb + +## 准备环境 + +准备基础环境 + +- [Helm](https://helm.sh/docs/intro/install/) +3.0 客户端 +- [Kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) 客户端 + +准备Kubernetes集群 + +:::tip +如果没有kubernets集群,可按照下述教程通过[kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)部署一个开发集群。默认情况下,为适配`building base`,集群至少有一个节点需要为`Ingress Controller`服务节点,并暴露`80`和`443`端口。 +::: + +1. 安装kind + +> 参考: https://kind.sigs.k8s.io/docs/user/quick-start/#installation + +Linux环境为例: + +```shell +# For AMD64 / x86_64 +[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 +# For ARM64 +[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-arm64 +chmod +x ./kind +sudo mv ./kind /usr/local/bin/kind +``` + +2. 准备单节点集群[配置文件](https://github.com/kubebb/core/blob/main/tests/kind-config.yaml)`kind-config.yaml` + +:::tip + +- 此处采用v1.24.13版本,其他版本请自行替换. [版本列表](https://hub.docker.com/r/kindest/node/tags?page=1&ordering=last_updated)。 +- 如需创建多节点集群,可参考[3节点配置文件](https://github.com/kubebb/core/blob/main/tests/kind-config-3nodes.yaml) + +::: + +```yaml +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +name: kubebb-core +nodes: + - role: control-plane + image: kindest/node:v1.24.13 + kubeadmConfigPatches: + - | + kind: InitConfiguration + nodeRegistration: + kubeletExtraArgs: + node-labels: "ingress-ready=true" + extraPortMappings: + - containerPort: 80 + hostPort: 80 + protocol: TCP + - containerPort: 443 + hostPort: 443 + protocol: TCP +``` + +3. 创建集群 + +```shell +kind create cluster --config=kind-config.yaml +``` + +4. 查看集群状态 + +```shell +kubectl cluster-info --context kind-kubebb-core +``` + +如果一切正常,输出如下: + +```shell +Kubernetes control plane is running at https://127.0.0.1:42607 +CoreDNS is running at https://127.0.0.1:42607/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy + +To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. +``` + +5. 查看集群节点 + +```shell +kubectl get nodes +``` + +如果一切正常,输出如下: + +```shell +NAME STATUS ROLES AGE VERSION +kubebb-core-control-plane Ready control-plane 21m v1.24.13 +``` + +通过`docker ps`可发现该节点已经暴露了`80`和`443`端口: + +```shell +(base) ➜ building-base git:(azure) docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +e4e3820cdb5a kindest/node:v1.24.13 "/usr/local/bin/entr…" 22 minutes ago Up 22 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 127.0.0.1:33611->6443/tcp kubebb-core-control-plane +``` + +## 安装内核 + +:::tip +Kubebb官方提供了helm仓库,方便用户安装: https://kubebb.github.io/components/ +::: + +1. 添加helm仓库 + +```shell +helm repo add kubebb https://kubebb.github.io/components/ +helm repo update +``` + +2. 创建命名空间 + +> 请根据实际情况修改命名空间名称 + +```shell +kubectl create namespace kubebb-system +``` + +3. 安装 + +```shell +helm install -nkubebb-system kubebb-core kubebb/kubebb-core +``` + +4. 查看安装状态 + +```shell +kubectl get pods -nkubebb-system +``` + +如果一切正常,输入如下: + +```shell +NAME READY STATUS RESTARTS AGE +kubebb-core-6bd7c5f679-742mq 1/1 Running 0 21h +``` + +## 安装底座 + +### 1. 创建官方组件仓库 + +> 可参考[使用官方组件仓库](#安装内核) + +### 2. 创建底座组件空间 + +:::tip +目前仅支持使用命名空间`u4a-system` +::: + +```shell + kubectl create namespace u4a-system +``` + +### 3. 部署Cluster Component + +组件部署信息`cluster_componentplan.yaml`如下: + +> 详细可[参考](https://github.com/kubebb/components/tree/main/examples/cluster-component) + +```yaml +apiVersion: core.kubebb.k8s.com.cn/v1alpha1 +kind: ComponentPlan +metadata: + name: cluster-component + namespace: u4a-system +spec: + approved: true + name: cluster-component + version: 0.1.3 + override: + set: + - ingress-nginx.controller.nodeSelector.kubernetes\.io/hostname=kubebb-core-control-plane + component: + name: kubebb.cluster-component + namespace: kubebb-system +``` + +需调整参数: + +- `override.set.ingress-nginx.controller.nodeSelector.kubernetes\.io/hostname` 将作为[ingress-nginx](https://github.com/kubebb/components/tree/main/charts/cluster-component/charts/ingress-nginx)服务节点 + +> 此处基于[kind开发集群](./prerequisite#kind开发集群)的`kubebb-core-control-plane`节点。 + +通过一下命令部署: + +```shell + kubectl apply -nu4a-system -f cluster_componentplan.yaml +``` + +`Cluster Component`部署完成后,可通过以下命令查看组件部署状态: + +```shell + kubectl get componentplan -nu4a-system cluster-component -oyaml +``` + +当组件部署状态如下时,表示组件部署成功: + +```yaml +status: + conditions: + - lastTransitionTime: "2023-07-25T08:15:41Z" + reason: "" + status: "True" + type: Approved + - lastTransitionTime: "2023-07-25T08:15:44Z" + reason: InstallSuccess + status: "True" + type: Actioned + - lastTransitionTime: "2023-07-25T08:15:44Z" + reason: "" + status: "True" + type: Succeeded +``` + +### 4. 部署U4A Component + +组件部署信息`u4a_componentplan.yaml`如下: + +```yaml +apiVersion: core.kubebb.k8s.com.cn/v1alpha1 +kind: ComponentPlan +metadata: + name: u4a-component + namespace: u4a-system +spec: + approved: true + name: u4a-component + version: 0.1.5 + wait: true + override: + valuesFrom: + - kind: ConfigMap + name: u4acm + valuesKey: "values.yaml" + component: + name: kubebb.u4a-component + namespace: kubebb-system +``` + +其中,组件`U4A-Component`的参数通过`ConfigMap`方式注入,`ConfigMap`的创建流程可参考[U4A组件部署流程](https://github.com/kubebb/components/tree/main/examples/u4a-component#install-u4a-component) + +通过一下命令部署: + +```shell + kubectl apply -nu4a-system -f u4a_componentplan.yaml +``` + +`U4A Component`部署完成后,可通过以下命令查看组件部署状态: + +```shell + kubectl get componentplan -nu4a-system u4a-component -oyaml +``` + +### 5. 访问底座服务门户 + +通过以下命令获取门户服务的访问地址: + +```shell +(base) ➜ ~ kubectl get ingress -nu4a-system +NAME CLASS HOSTS ADDRESS PORTS AGE +bff-server-ingress portal.172.18.0.2.nip.io 80, 443 4h55m +bff-server-ingress-socket portal.172.18.0.2.nip.io 80, 443 4h55m +kube-oidc-proxy-server-ingress k8s.172.18.0.2.nip.io 80, 443 4h55m +``` + +通过浏览器访问`https://portal.172.18.0.2.nip.io`即可进入服务门户。默认的用户名密码为 + +- 用户名: `admin` +- 密码: `kubebb-admin` + +> 注意: 由于使用了[nip.io](https://nip.io/)作为域名解析服务,因此需要将`HOSTS`中的域名解析到`ADDRESS`对应的IP地址上。 + +## 卸载 + +### 1. 卸载U4A Component + +```shell + kubectl delete componentplan -nu4a-system u4a-component +``` + +### 2. 卸载Cluster Component + +```shell + kubectl delete componentplan -nu4a-system cluster-component +``` diff --git a/docs/quick-start/try_customization.md b/docs/quick-start/try_customization.md deleted file mode 100644 index 27c888a39..000000000 --- a/docs/quick-start/try_customization.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_position: 4 ---- - -# 体验自定义配置 - -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" -``` - -使用 `kubectl apply -f` 即可将菜单项部署到环境中,如下图所示: -![图 1](images/4a52ae49bf01baee581357a57038c5792dab1fe153770917e42a5888a7ebebdc.png) - -* 详细介绍参考 [自定义菜单](../building-base/configuration/customize-menu.md) - -3. 多语言 & 白天/黑夜模式 - -1)通过右上角的语言切换按钮进行多语言切换,目前支持中文、英文两种语言 - -2)通过右上角的按钮切换白天/黑夜模式 diff --git a/docs/user-guid/_category_.json b/docs/user-guid/_category_.json index f5afb223d..9dd417158 100644 --- a/docs/user-guid/_category_.json +++ b/docs/user-guid/_category_.json @@ -1,4 +1,4 @@ { "label": "用户指南", - "position": 12 + "position": 3 } \ No newline at end of file diff --git a/docs/user-guid/component_anagement.md b/docs/user-guid/component_anagement.md index 86734f208..21fb14bc6 100644 --- a/docs/user-guid/component_anagement.md +++ b/docs/user-guid/component_anagement.md @@ -28,6 +28,32 @@ sidebar_label: 组件管理 - 用户主动将组件所有版本均设置为“废弃”状态,则不会显示在“我发布的”列表及组件市场中 ::: +### 发布自定义组件 + +此章节主要对上述 “上传 helm 包” 中包结构或重点内容的说明。Kubebb 的组件安装包采用`Helm`模式,遵循 Helm charts 开发规则。除此之外,我们额外定义了一些特殊字段来满足组件的多样性。 + +通用配置:参考[Helm官方文档](https://helm.sh/docs/) + +高级配置:为支持不同组件对安装位置、权限的可控,特此额外约定了多个配置字段。 + +- Chart.yaml + +`Chart.yaml`中包含组件的核心定义、版本、维护者等信息,属于`Helm`预定义的内容。为了支持额外的特殊需求,我们决定通过`annotations`来自由定义。如下所示: + +```yaml +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 包,完成组件发布。 + ## 我安装的 在“组件市场”浏览组件,按需安装组件,当组件有新版本推送时可选择手动或自动更新。 @@ -38,7 +64,7 @@ sidebar_label: 组件管理 1. 进入[组件市场/组件管理/我安装的]页面,点击** +组件安装 **,跳转到“组件市场”页面,选择目标集群,浏览组件 2. 找到目标组件,点击**安装**,进入安装页面,填写部署名称、选择组件版本、更新方式、选择租户&项目、查看或调整配置文件、按需添加镜像替换规则 - **建议安装前仔细阅读安装说明**,助您快速正确的安装组件,进行体验 -- 部署名称:由3~56个小写字母、数字、中划线“-”或点“.”组成,并以字母、数字开头或结尾。项目&集群内唯一。 +- 部署名称:`由3~53个小写字母、数字、中划线“-”组成,并以字母、数字开头或结尾`。项目&集群内唯一。 - 组件名称和组件仓库自动回显,只读 - 组件版本:下拉列表选择要安装的版本 - 更新方式:默认手动更新。 diff --git a/docs/user-guid/image/advanced-config.png b/docs/user-guid/image/advanced-config.png index 3fdb15b7f..895e218d8 100644 Binary files a/docs/user-guid/image/advanced-config.png and b/docs/user-guid/image/advanced-config.png differ diff --git a/docs/user-guid/intro.md b/docs/user-guid/intro.md deleted file mode 100644 index 74e703158..000000000 --- a/docs/user-guid/intro.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -sidebar_position: 2 -title: 产品介绍 -sidebar_label: 产品介绍 ---- - - -# 产品介绍 - -KubeBB(Kubernetes Building Blocks)是一种由内核驱动的组件生命周期管理平台,集成了开箱即用的云原生底座和低码组件开发能力。 - -- **提供底座服务,快速开启搭建**:提供账号、认证(OIDC)、权限(RBAC)、审计(Audit)的基础功能,采用更加标准的技术方式提供构建的底座服务 -- **内核驱动的声明式组件管理**:提供声明式的组件仓库管理、组件同步、组件订阅、部署以及多维度的组件评级,完整适配 Helm 生态,集成微前端框架 -- **灵活的组件开发模式**:基于微前端框架和低代码开发,定义了标准的组件封装及发布模式,让开发者可以在底座之上按照开发规范进行组件的快速开发和发布,并在统一的服务门户上对外提供服务 - -官方提供的组件包括微服务治理(TMF)、服务网格(TDSF)、API网关(TAMP)、应用性能监控(TAPM)的开源社区版本,详细介绍参见[**开源文档**](https://docs.tenxcloud.com/) - -## 功能说明 - -Kubebb 部署后主要有管理工作台、组件市场两部分能力。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
模块说明
组件市场组件市场组件的商店,支持浏览、订阅、下载、安装组件
组件管理1. 我发布的:支持手动发布组件到仓库;支持发布多版本
2. 我安装的:支持安装、更新、卸载组件;支持历史版本管理和版本回滚
3. 我订阅的:支持订阅、取消订阅组件;支持版本更新推送
组件仓库管理1. 支持添加、编辑、删除组件仓库
2. 支持配置仓库安全认证、仓库同步设置、仓库组件过滤规则、镜像仓库替换规则、开启组件评测等
组件评测使用智能 AI 对组件从安全性、可靠性、可用性三方面进行综合评测,为您的选择提供参考数据
管理工作台集群管理1. 多集群统一视图管理
2. 资源管理:分内置和自定义资源,各资源支持yaml方式查看编辑
3. 集群角色和角色模板管理:集群角色支持绑定角色主体有成员、组和服务账号,均支持yaml方式查看和编辑
租户和项目管理1. 多租户、多项目统一视图管理:查看租户或项目标签、授权集群等
2. 租户授权集群,设置租户管理员
3. 项目授权集群,设置项目管理员
4. 项目内角色和成员管理、项目内服务账号管理
5. 对应资源均支持yaml方式编辑
主体管理管理成员和组:创建、查看、删除成员;修改成员密码;创建、查看、删除组,组内加入或移出成员
菜单管理1. 多级菜单管理,支持管理菜单名称、图标、行列排序、路径等
2. 支持默认、iframe嵌入、链接跳转三种类型的菜单样式
3. 支持设置是否可见;设置菜单的角色权限等
4. 支持使用JSON格式的菜单数据实现更多自定义菜单配置
设置管理1. 账户中心,支持查看编辑手机、邮箱;修改密码等;支持查看所属租户项目
2. 平台信息:查看正版授权信息、更新许可证等
3. API 凭证,支持查看、下载Kubeconfig
操作审计统一查看对资源的操作记录,支持租户、项目、集群、操作类型、状态、发起者等过滤查询
- -管理工作台用户指南详见[管理工作台](https://docs.tenxcloud.com/) - -## 应用场景 - -### 快速搭建您的云原生平台 - -Kubebb 提供了多集群多租户管理、菜单管理、角色和成员管理、OIDC 认证等完善的平台基础能力。内置官方组件,通过云梯低代码组件可快速发布您的应用;通过微服务框架或服务网格统一管理和治理您的应用;通过应用性能监控统一观测服务调用,设置链路告警。同时您可发布自定义组件,例如容器服务组件,形成应用的全生命周期的管理和治理。 -![overview](./image/struc.png) - diff --git a/docusaurus.config.js b/docusaurus.config.js index fe60bfc8d..1293a818f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -108,19 +108,19 @@ const config = { items: [ { label: '快速开始', - to: '/docs/quick-start/prerequisite', + to: '/docs/quick-start/quick-install', }, { label: '内核 Kit', - to: '/docs/core/intro', + to: '/docs/develop-guid/core/intro', }, { label: '底座 Kit', - to: '/docs/building-base/intro', + to: '/docs/develop-guid/building-base/intro', }, { label: '低码 Kit', - to: '/docs/lowcode-development/intro', + to: '/docs/develop-guid/lowcode-development/intro', }, ], }, @@ -145,7 +145,7 @@ const config = { }, { label: '云梯低代码平台', - to: '/docs/lowcode-development/intro', + to: '/docs/develop-guid/lowcode-development/intro', }, ], },