当前位置: 首页 > news >正文

使用 Helm 在 Kubernetes 上部署高可用的 Dify 系统

Dify 是一个功能强大的开源 LLMOps 平台,最近越来越流行,很多同学咨询高可用私有化部署方案,虽然官方提供了基于 docker-compose 的部署方式,但在生产环境中,我们通常需要具备可扩展性、高可用性和容错性,这些正是 Kubernetes 所擅长的,于是开源一个 dify-chart 项目,实现基于 Helm 在 Kubernetes 上的高可用部署。

dify-chart 项目是基于 Helm,将 Dify 的 docker-compose.yaml.env 配置转换成 Kubernetes 环境下的 templatesvalues.yaml,项目结构保持简单清晰,方便后期扩展、或部署云服务,本文将提供完整部署步骤和访问测试方式。


🛠️ 前置要求

开始之前,请确保你已安装以下工具:

  • Docker
  • Minikube(用于本地 Kubernetes 测试)
  • Helm

💡 本文以 Minikube 作为本地测试环境进行演示。若用于生产环境,请根据实际情况配置负载均衡器、Ingress 或云服务商提供的访问方式。


🚧 服务依赖说明

Dify 依赖以下服务:

  • PostgreSQL(主数据库)
  • Redis(用于缓存与队列)
  • Weaviate(向量数据库)

在本 Helm Chart 中,这些依赖服务被外部化,未被直接包含在部署中。如果你仅进行测试,可以参考仓库中的 demo-dependent-docker.txt 中的命令启动本地单实例容器,Helm Chart 中默认配置为这些 docker 的访问地址。

若用于生产部署,建议将这些依赖服务部署为高可用集群,参考资料:

  • 使用 Patroni 部署 PostgreSQL 高可用集群
  • Redis Cluster 官方文档
  • Weaviate 集群模式部署指南

🚀 使用 Helm 部署 Dify

  1. 克隆 Helm 仓库
git clone https://github.com/flower-trees/dify-chart.git
cd dify-chart
  1. 安装 Dify 到 Kubernetes 集群中
helm install dify ./ --namespace dify --create-namespace
  1. 检查 Pod 启动情况
kubectl get pods -n dify

你应该能看到类似输出:

dify-api-5c446f5dbf-r674x            1/1     Running 
dify-api-5c446f5dbf-rxjw4            1/1     Running
dify-plugin-daemon-667b754cf-755zg   1/1     Running
dify-plugin-daemon-667b754cf-sl7zm   1/1     Running
dify-sandbox-9769bb9ff-dxcnm         1/1     Running
dify-sandbox-9769bb9ff-ml5lc         1/1     Running
dify-ssrf-proxy-b966c4bfb-m4c6q      1/1     Running
dify-ssrf-proxy-b966c4bfb-ptbbh      1/1     Running
dify-web-5d844944df-nq7d9            1/1     Running
dify-web-5d844944df-qrrdn            1/1     Running
dify-worker-7d9f77566-gxdjn          1/1     Running
dify-worker-7d9f77566-pcmcq          1/1     Running

🌐 访问 Dify Web 界面

若使用 Minikube,本地访问 Dify 的步骤如下:

  1. 启动 Minikube Tunnel:
minikube tunnel
  1. 修改本地 /etc/hosts 文件(需要 sudo 权限):
127.0.0.1 dify.local
  1. 打开浏览器访问安装页面:
http://dify.local/install

跟随界面指引,完成初始化配置。


⚙️ 配置与自定义

该 Helm Chart 尽可能兼容 Dify 原始 .env 文件的配置方式。你可以:

  • 修改 values.yaml 来调整参数
  • 使用 Kubernetes Secret 管理敏感信息
  • 自定义副本数量、资源限制、调度策略等
  • 接入 Ingress、添加存储卷、绑定监控系统等

更多高级配置可参考官方文档:Dify 文档


🧩 项目地址

完整的 Helm Chart 仓库地址:

👉 https://github.com/flower-trees/dify-chart

欢迎 star、fork,也欢迎提交 issue 与改进建议。


📝 总结

本 Helm 部署方案为在 Kubernetes 上运行 Dify 提供了一个高可用的基础框架,适用于希望从 docker-compose 升级至容器编排环境的开发者和团队。

你可以基于此方案进一步拓展功能,例如自动扩容、接入企业网关、配置持久化存储、集成监控与告警等,为生产部署打下良好基础。

如你在使用过程中有任何问题或建议,欢迎留言交流!


✈️ 架构图

在这里插入图片描述


相关文章:

  • 蓝桥杯Java组国赛G题(01背包问题的变形)
  • 神经网络知识
  • 一些需要学习的C++库:CGAL和Eysshot
  • 使用 WSL + Ubuntu + Go + GoLand(VSCode) 开发环境配置指南
  • 13 - AXI DMA环路实验
  • 自动驾驶04:点云预处理03
  • 25大唐杯赛道一本科B组大纲总结(上)
  • linux0.11内核源码修仙传第十一章——硬盘初始化
  • trae初体验-java开发
  • 网络相关知识总结2
  • 基于神经网络的文本分类的设计与实现
  • P3379 【模板】最近公共祖先(LCA)【题解】(重链剖分法)
  • Python 装饰器(Decorators)
  • 华为虚墙配置实验
  • FLEXlm如何通过web调用
  • 银河麒麟高级服务器操作系统基础docker镜像封装http和docker端口映射操作
  • 大模型AI Agent:简介(第一部分)—— 特性、组件、运作及应用全景
  • Nature招牌1区Top认证!可解释多模态融合模型取得重大突破!
  • 座舱与智驾“双轮驱动”,芯擎科技打造智能汽车“芯”标杆
  • 香港电讯企业托管服务,助企业实现高效IT管理与运营
  • 俄乌直接谈判结束
  • 赡养纠纷个案推动类案监督,检察机关保障特殊群体胜诉权
  • “老中青少”四代同堂,季春艳携锡剧《玲珑女》冲击梅花奖
  • 黄仕忠丨戏曲文献研究之回顾与展望
  • 美政府以拨款为要挟胁迫各州服从移民政策,20个州联合起诉
  • 习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式并发表重要讲话