返回

在 KubeSphere 中部署 Wiki 系统 wiki.js 并启用中文全文检索

见解分享

在 KubeSphere 中部署 Wiki.js,打造高效团队知识库

概述

随着信息爆炸时代的到来,知识管理变得越来越重要。Wiki 系统作为知识管理的有力工具,因其协作编辑、版本管理和易用性等特性,受到广泛关注。本文将指导读者在 KubeSphere 中部署开源 Wiki 系统 Wiki.js,并启用中文全文检索,为团队提供高效便捷的知识库。

Wiki.js 介绍

Wiki.js 是一款现代开源 Wiki 系统,拥有以下优势:

  • 实时协作编辑:多人可同时编辑同一页面,促进团队协作。
  • 版本控制:自动记录每次编辑,方便追溯历史版本,确保知识完整性。
  • 标签和分类:便捷知识整理和管理,便于查找和获取所需信息。
  • 可扩展性:支持通过插件扩展功能,满足个性化需求。

在 KubeSphere 中部署 Wiki.js

环境准备:

  • 已安装并启动 KubeSphere 集群
  • 安装 kubectl 命令行工具

部署步骤:

  1. 创建命名空间:

    kubectl create namespace wiki
    
  2. 添加 Helm 仓库:

    helm repo add wiki-js https://helm.wikijs.org/stable
    helm repo update
    
  3. 安装 Wiki.js:

    helm install wiki-js wiki-js/wiki-js \
    -n wiki \
    --create-namespace \
    -f values.yaml
    

    其中 values.yaml 文件用于配置 Wiki.js 的选项。

  4. 创建服务:

    kubectl expose deployment wiki-js-web --namespace wiki --port 3000 --type NodePort
    

    此服务将 Wiki.js 暴露为 NodePort 服务,可以通过外部访问。

启用中文全文检索

Wiki.js 默认不启用中文全文检索,需要额外配置。

配置步骤:

  1. 安装 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
      
  2. 配置 Wiki.js:

    • 编辑 Wiki.js ConfigMap:
      kubectl edit configmap wiki-js-config -n wiki
      
    • 添加以下配置:
      SEARCH_PROVIDER: elasticsearch
      ELASTICSEARCH_HOST: http://elasticsearch-master:9200
      
  3. 重启 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 文档了解详细信息。