讲师中心 微信公众号
AI工具推荐 视频效率加速

在Kubernetes集群中进行Dify高可用分布式部署的完整步骤

落芳酱_1047

落芳酱_1047

发布时间:2026-07-09 14:56:06

|

297人浏览过

|

来源于php中文网

原创

Kubernetes中Dify高可用部署需API、数据库、缓存、向量库均多副本且持久化,使用NAS共享存储(如SFS Turbo),部署Spilo+Patroni PostgreSQL三节点集群、Redis哨兵、Weaviate三副本集群及双副本API/Worker服务,并配置Ingress网关。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在kubernetes集群中进行dify高可用分布式部署的完整步骤

在Kubernetes集群中实现Dify高可用分布式部署,需确保API服务、数据库、缓存、向量库等核心组件全部具备多副本容错能力,且数据不因Pod重建而丢失,网络层支持自动故障转移与负载均衡。

准备高可用基础设施

先确认Kubernetes集群版本≥v1.23,工作节点不少于3台,全部位于同一VPC内;若使用华为云CCE,启用自动弹性伸缩并绑定至少两个可用区。

创建专用命名空间:kubectl create ns dify

【必须使用NAS类共享存储】块存储无法被多个Pod同时挂载,会导致PostgreSQL主从同步失败或Weaviate数据不一致;华为云SFS Turbo、阿里云NAS、腾讯云CFS均符合要求。

部署StorageClass,名称必须为nfs(大小写敏感),其provisioner字段需与云厂商CSI驱动匹配,例如华为云为everest-csi-provisioner;reclaimPolicy设为Retain,避免误删生产数据。

部署高可用PostgreSQL集群

采用Spilo+Patroni方案构建三节点HA集群,所有Pod挂载同一NAS PV,通过etcd或Kubernetes内置leader选举实现主从自动切换。

执行命令部署:kubectl apply -n dify -f https://raw.githubusercontent.com/Winson-030/dify-kubernetes/main/dify-database-HA-setup/postgres-statefulset.yaml

检查状态:kubectl -n dify get pods -l application=spilo,应看到3个Running状态的Pod,其中1个带role: master标签,其余为replica;若全部为replica,说明PVC未正确绑定或storageClassName填写错误。

验证连接:进入任意Pod执行psql -h dify-pg-ha -U postgres -d dify,能成功登录即表示集群通信正常。

部署Redis哨兵模式

方法一:使用Bitnami Helm Chart快速部署

helm repo add bitnami https://charts.bitnami.com/bitnamihelm install redis-sentinel bitnami/redis-sentinel -n dify --set architecture=replication,replica.replicaCount=2,sentinel.sentinelCount=3

方法二:直接应用YAML清单

下载dify/database/redis-sentinel.yaml,确认其中sentinelConfig节已配置quorum=2,且所有StatefulSet副本数≥2;应用前替换namespace为dify,再执行kubectl apply -f

Kubernetes Skills
Kubernetes Skills

针对 Kubernetes 仪表板和 Web UI 的浏览器自动化。适用于与 Kubernetes Dashboard、Grafana、ArgoCD UI 或其他 Web 界面交互。需要设置 MCP_BROWSER_ENABLED=true。

下载

哨兵模式下客户端必须连接Sentinel地址(如redis-sentinel:26379),而非直接连Redis Pod IP;否则故障转移时连接将中断。

部署Weaviate向量数据库集群

第一步:创建专用ServiceAccount与RBAC权限,Weaviate需访问Kubernetes API获取节点信息用于分片调度。

第二步:配置Weaviate StatefulSet,副本数设为3,volumeClaimTemplates引用前述nfs StorageClass,storage: 50Gi。

第三步:设置环境变量CLUSTER_DISCOVERY=statefulsetCLUSTER_HOSTNAME=weaviate,确保各Pod能通过DNS发现彼此。

第四步:应用清单:kubectl apply -n dify -f https://raw.githubusercontent.com/Winson-030/dify-kubernetes/main/dify-database-HA-setup/weaviate-statefulset.yaml

等待所有Pod Ready后,访问http://weaviate.dify.svc.cluster.local/v1/meta返回{"version":"1.24.0"}即表示集群就绪。

部署Dify核心服务与网关

① 应用API服务Deployment,副本数≥2,确保readinessProbe检测/healthz端点返回200;livenessProbe间隔设为30秒,避免频繁重启。

② 部署Worker服务,concurrency参数根据CPU核数设定(建议8~16),并通过envFrom挂载Redis哨兵地址与PostgreSQL连接串。

③ Web前端使用Nginx Deployment,静态资源由ConfigMap注入,index.html中API_BASE_URL必须指向内部Service名http://dify-api.dify.svc.cluster.local,不可写成NodePort或Ingress域名。

④ 配置Ingress资源,host字段填入企业域名(如ai.example.com),TLS secret需提前导入;backend service name必须与API Service一致,端口为80。

⑤ 若使用华为云ELB,需在Ingress annotation中添加nginx.ingress.kubernetes.io/service-upstream: "true",否则流量无法透传到Pod。

执行最终部署:kubectl apply -n dify -f https://raw.githubusercontent.com/Winson-030/dify-kubernetes/main/dify-deployment.yaml

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

96

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

148

2026.06.29

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

96

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

148

2026.06.29

Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

357

2026.06.05

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

205

2026.06.05

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

196

2026.06.05

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

20

2026.09.20

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

0

2026.09.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn