agentic_huge_data_base / wiki
页面 LightRAG · 8.2 3D Graph Visualization 工具·DeepWiki 中文全文译文

8.2 · 3D Graph Visualization 工具(3D Graph Visualization Tool)

轻量图谱增强检索 · 本章是 LightRAG DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目LightRAG 章节8.2 状态全文译文 模块系统架构、界面与交互、图谱与关系、安装与启动
源码线索
  • lightrag/tools/__init__.py
  • lightrag/tools/lightrag_visualizer/README-zh.md
  • lightrag/tools/lightrag_visualizer/README.md
  • lightrag/tools/lightrag_visualizer/__init__.py
  • lightrag/tools/lightrag_visualizer/assets/place_font_here
  • lightrag/tools/lightrag_visualizer/graph_visualizer.py
  • setup.py
模块标签
  • 系统架构
  • 界面与交互
  • 图谱与关系
  • 安装与启动
  • 文档对象与元数据

中文译文

Kubernetes / Helm 部署(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/HKUDS/LightRAG/8.2-kubernetes-helm-deployment
翻译时间:2026-05-27T08:45:18.230Z
翻译模型:deepseek-chat
原文字符数:8180
项目:LightRAG (lightrag)

---

Kubernetes / Helm 部署

相关源文件

以下文件用于生成此 Wiki 页面:

  • k8s-deploy/databases/00-config.sh
  • k8s-deploy/databases/01-prepare.sh
  • k8s-deploy/databases/02-install-database.sh
  • k8s-deploy/databases/03-uninstall-database.sh
  • k8s-deploy/databases/04-cleanup.sh
  • k8s-deploy/databases/install-kubeblocks.sh
  • k8s-deploy/databases/scripts/common.sh
  • k8s-deploy/databases/uninstall-kubeblocks.sh
  • k8s-deploy/install_lightrag.sh
  • k8s-deploy/install_lightrag_dev.sh
  • k8s-deploy/lightrag/Chart.yaml
  • k8s-deploy/lightrag/templates/deployment.yaml
  • k8s-deploy/lightrag/values.yaml
  • k8s-deploy/uninstall_lightrag.sh
  • k8s-deploy/uninstall_lightrag_dev.sh

LightRAG 提供了一套完整的 Kubernetes 部署方案,可从本地开发环境扩展到生产级集群。该部署通过 Helm Chart 和自动化脚本进行管理,并与 KubeBlocks 数据库操作器集成,以提供高可用的存储后端。

部署模式

LightRAG 在 Kubernetes 中支持两种主要部署策略:轻量级(开发)生产级

1. 轻量级部署

此模式适用于测试或小规模使用场景。它使用基于文件的本地存储,无需外部数据库集群。

  • 存储后端JsonKVStorageNanoVectorDBStorageNetworkXStorageJsonDocStatusStorage k8s-deploy/install_lightrag_dev.sh:56-59
  • 持久化:使用 emptyDir 或标准持久卷声明(PVC)来存储 .json.graphml 文件 k8s-deploy/lightrag/templates/deployment.yaml:66-78
2. 生产级部署

此模式利用专用数据库引擎来实现可扩展性和高性能。

  • 存储后端PGKVStoragePGVectorStorageNeo4JStoragePGDocStatusStorage k8s-deploy/lightrag/values.yaml:63-68
  • 数据库编排:使用 KubeBlocks 管理 PostgreSQL(含 pgvector)和 Neo4j 集群 k8s-deploy/install_lightrag.sh:24-27
部署流程示意图

下图展示了高层级部署脚本与其管理的具体 Helm 和 Kubernetes 实体之间的关系。

"K8s 部署编排"

graph TD
    subgraph "Shell 脚本"
        A["install_lightrag.sh"] --> B["01-prepare.sh"]
        A --> C["02-install-database.sh"]
        A --> D["helm upgrade --install"]
        E["install_lightrag_dev.sh"] --> D
    end

    subgraph "Helm Chart (lightrag)"
        D --> F["deployment.yaml"]
        D --> G["values.yaml"]
        F --> H["ConfigMap/Secret (环境变量)"]
    end

    subgraph "KubeBlocks 操作器"
        B --> I["KubeBlocks CRDs"]
        C --> J["PostgreSQL 集群"]
        C --> K["Neo4j 集群"]
    end

    subgraph "代码实体"
        H -- "设置" --> L["LIGHTRAG_KV_STORAGE"]
        H -- "设置" --> M["LIGHTRAG_GRAPH_STORAGE"]
    end

    J -- "提供" --> L
    K -- "提供" --> M

来源:k8s-deploy/install_lightrag.sh:23-80k8s-deploy/install_lightrag_dev.sh:54-67k8s-deploy/lightrag/values.yaml:50-83k8s-deploy/databases/01-prepare.sh:10-30

---

Helm Chart 配置

位于 k8s-deploy/lightrag 目录下的 Helm Chart k8s-deploy/lightrag/Chart.yaml:1-5 将应用程序参数化,以适应 Kubernetes 环境。

资源和持久化设置

部署默认使用单个副本,以避免使用基于文件的存储时出现文件锁定冲突 k8s-deploy/lightrag/values.yaml:1-21

参数默认值描述
replicaCount1Pod 副本数量。
updateStrategyRecreate更新策略,确保旧 Pod 在新 Pod 启动前释放存储 k8s-deploy/lightrag/values.yaml:21-22
resources.limits.memory2GiLightRAG 容器的内存限制 k8s-deploy/lightrag/values.yaml:31
persistence.ragStorage.size10Gi知识图谱和向量数据的存储卷大小 k8s-deploy/lightrag/values.yaml:39
环境变量映射

deployment.yaml 模板将 Values.env 直接映射到容器的环境变量中,从而允许在运行时配置大语言模型(LLM)提供商和存储后端 k8s-deploy/lightrag/templates/deployment.yaml:43-57。同时,它还会挂载一个基于 Secret 的 .env 文件到 /app/.env k8s-deploy/lightrag/templates/deployment.yaml:44-45

来源:k8s-deploy/lightrag/values.yaml:1-42k8s-deploy/lightrag/templates/deployment.yaml:19-45

---

数据库集成(KubeBlocks)

对于生产环境,LightRAG 使用 KubeBlocks 在集群内配置托管的数据库服务。

配置工作流
  1. 准备阶段01-prepare.sh 安装 KubeBlocks 操作器及必要的自定义资源定义(CRD),如 Snapshotter k8s-deploy/databases/install-kubeblocks.sh:12-43
  2. 附加组件安装:安装 PostgreSQL、Neo4j、Redis 和 Qdrant 的 KubeBlocks 附加组件 k8s-deploy/databases/01-prepare.sh:24-30
  3. 集群部署02-install-database.sh 触发实际数据库实例的创建(例如 pg-clusterneo4j-clusterk8s-deploy/databases/02-install-database.sh:12-17
  4. 向量支持install_lightrag.sh 脚本会等待 PostgreSQL 主 Pod 就绪,然后执行 CREATE EXTENSION vector; 以启用 pgvector 支持 k8s-deploy/install_lightrag.sh:30-37
密钥管理

数据库的凭证由 KubeBlocks 自动生成,部署脚本通过 kubectl get secrets 获取这些凭证,并将其作为环境变量传递给 Helm 发布 k8s-deploy/install_lightrag.sh:40-60

数据库/代码关联

此图展示了 values.yaml 中的 Kubernetes 服务名称如何映射到 LightRAG 引擎内部的存储类。

"K8s 服务到代码存储的映射"

graph LR
    subgraph "Kubernetes 服务"
        PG_SVC["pg-cluster-postgresql-postgresql:5432"]
        N4J_SVC["neo4j-cluster-neo4j:7687"]
    end

    subgraph "lightrag/values.yaml"
        V_PG_HOST["POSTGRES_HOST"]
        V_N4J_URI["NEO4J_URI"]
    end

    subgraph "LightRAG 存储类"
        KV["PGKVStorage"]
        VEC["PGVectorStorage"]
        GRPH["Neo4JStorage"]
    end

    PG_SVC --> V_PG_HOST
    N4J_SVC --> V_N4J_URI

    V_PG_HOST --> KV
    V_PG_HOST --> VEC
    V_N4J_URI --> GRPH

来源:k8s-deploy/lightrag/values.yaml:63-79k8s-deploy/install_lightrag.sh:70-82

---

安装与卸载

安装脚本
  • 生产环境bash k8s-deploy/install_lightrag.sh
  • - 需要设置 OPENAI_API_KEY 环境变量 k8s-deploy/install_lightrag.sh:7-15。 - 部署完整的数据库栈和 lightrag Helm 发布。

  • 开发环境bash k8s-deploy/install_lightrag_dev.sh
  • - 仅使用轻量级本地存储部署 lightrag-dev 发布 k8s-deploy/install_lightrag_dev.sh:54-67

卸载脚本
  • 仅卸载应用uninstall_lightrag.shuninstall_lightrag_dev.sh 会移除 Helm 发布,但保留数据库 k8s-deploy/uninstall_lightrag.sh:1-5
  • 完全清理databases/uninstall-kubeblocks.sh 会移除 KubeBlocks 操作器、CRD 以及所有关联的数据库命名空间 k8s-deploy/databases/uninstall-kubeblocks.sh:26-48

来源:k8s-deploy/install_lightrag.sh:1-96k8s-deploy/install_lightrag_dev.sh:1-82k8s-deploy/databases/uninstall-kubeblocks.sh:1-52