在 KubeSphere 中部署 Wiki 系统 wiki.js 并启用中文全文检索
2023-11-15 11:31:25
在 KubeSphere 中部署 Wiki.js,打造高效团队知识库
概述
随着信息爆炸时代的到来,知识管理变得越来越重要。Wiki 系统作为知识管理的有力工具,因其协作编辑、版本管理和易用性等特性,受到广泛关注。本文将指导读者在 KubeSphere 中部署开源 Wiki 系统 Wiki.js,并启用中文全文检索,为团队提供高效便捷的知识库。
Wiki.js 介绍
Wiki.js 是一款现代开源 Wiki 系统,拥有以下优势:
- 实时协作编辑:多人可同时编辑同一页面,促进团队协作。
- 版本控制:自动记录每次编辑,方便追溯历史版本,确保知识完整性。
- 标签和分类:便捷知识整理和管理,便于查找和获取所需信息。
- 可扩展性:支持通过插件扩展功能,满足个性化需求。
在 KubeSphere 中部署 Wiki.js
环境准备:
- 已安装并启动 KubeSphere 集群
- 安装 kubectl 命令行工具
部署步骤:
-
创建命名空间:
kubectl create namespace wiki
-
添加 Helm 仓库:
helm repo add wiki-js https://helm.wikijs.org/stable helm repo update
-
安装 Wiki.js:
helm install wiki-js wiki-js/wiki-js \ -n wiki \ --create-namespace \ -f values.yaml
其中 values.yaml 文件用于配置 Wiki.js 的选项。
-
创建服务:
kubectl expose deployment wiki-js-web --namespace wiki --port 3000 --type NodePort
此服务将 Wiki.js 暴露为 NodePort 服务,可以通过外部访问。
启用中文全文检索
Wiki.js 默认不启用中文全文检索,需要额外配置。
配置步骤:
-
安装 ElasticSearch: ElasticSearch 是一个分布式搜索引擎,将用于提供全文检索功能。
- 添加 Helm 仓库:
helm repo add elastic https://helm.elastic.co helm repo update
- 安装 ElasticSearch:
helm install elasticsearch elastic/elasticsearch \ -n wiki \ --create-namespace \ -f values-elasticsearch.yaml
- 添加 Helm 仓库:
-
配置 Wiki.js:
- 编辑 Wiki.js ConfigMap:
kubectl edit configmap wiki-js-config -n wiki
- 添加以下配置:
SEARCH_PROVIDER: elasticsearch ELASTICSEARCH_HOST: http://elasticsearch-master:9200
- 编辑 Wiki.js ConfigMap:
-
重启 Wiki.js:
kubectl rollout restart deployment wiki-js-web -n wiki
访问 Wiki.js
Wiki.js 部署成功后,可以通过 NodePort 服务访问:
http://<NodePort IP>:<NodePort>
例如:http://192.168.0.100:31384
使用提示
- Wiki.js 默认使用 SQLite 数据库,不适合生产环境。推荐使用 MySQL 或 PostgreSQL 作为生产数据库。
- Wiki.js 支持各种插件扩展,如 Markdown 编辑器、图表绘制器等,可根据需要进行拓展。
- Wiki.js 提供丰富的文档和社区支持,可以帮助解决常见问题。
结论
通过在 KubeSphere 中部署 Wiki.js 并启用中文全文检索,团队可以拥有一个高效便捷的知识库。Wiki.js 的协作编辑、版本管理和强大的搜索功能,将帮助团队高效管理和共享知识,促进团队协作和知识沉淀。
常见问题解答
1. 如何更改 Wiki.js 的数据库?
编辑 Wiki.js ConfigMap 并添加以下配置:
DATABASE_TYPE: mysql
DATABASE_HOST: <数据库主机>
DATABASE_USER: <数据库用户>
DATABASE_PASSWORD: <数据库密码>
DATABASE_NAME: <数据库名称>
2. 如何安装插件?
在 Wiki.js 仪表板中,转到 "插件" 选项卡,搜索并安装所需的插件。
3. 如何配置权限?
编辑 Wiki.js ConfigMap 并添加以下配置:
WIKIJS_PERMISSIONS:
read:
- anonymous
write:
- <用户名或组>
4. 如何备份和恢复 Wiki.js?
使用以下命令进行备份:
kubectl exec -it <wiki-js-pod> -- bash
mongodump --db wiki --out /backup
使用以下命令进行恢复:
kubectl exec -it <wiki-js-pod> -- bash
mongorestore --db wiki --drop /backup
5. 如何与其他系统集成?
Wiki.js 提供了 API 和 Webhook,可用于与其他系统集成。请参考 Wiki.js 文档了解详细信息。