华为云Flexus+DeepSeek征文| 使用CCE容器部署Dify-LLM平台高可用环境看这一篇就足够了
0. 本篇博客亮点
■ 解决了官方一键部署过程中可能遇到的问题,让你少走很多弯路,节省排查问题的时间;
■ Dify的高可用版本结合华为云ModelArts Studio大模型服务进行功能及简单性能测评;
■ 对高可用版本组件的一些说明,解答这些组件在高可用版本中的必要性;
1. 部署架构图
2. 部署前准备工作
2.1. 创建OBS桶
在接下来的一键部署过程中需要填写对象存储服务OBS桶名称。所以在一键部署前需要先创建一个桶,桶所属区域必须与一键部署选择的区域保持一致。OBS桶的作用是存储Dify WebUI上传的知识库文件。
创建完成一个名为dify-0614名称的桶:
2.2. 创建AK/SK
访问密钥ID(AK)作用:识别访问用户的身份,取值范围:20,仅支持大写字母和数字,用于将知识库文件上传至OBS桶。
秘密访问密钥(SK)作用:对请求数据进行签名验证,取值范围:40,仅支持大小写字母和数字,用于将知识库文件上传至OBS桶。
AK和SK一定要下载自己保存好,后期不能再查看了
3. 一键部署CCE容器高可用版
一键部署高可用版本部署入口
使用默认选项即可:
下面配置的说明:
■ 此处的配置很多密码,密码自己一定要记好,实在自己不想记得话可以都设置一样的密码,但是复杂度要高。
■ 默认填写好的值自己也可以修改,按照选项描述自行修改就可以,我这里将部分配置调低一些。
完事之后点击下一步,根据自己需要设定,我这里使用默认设置:
创建执行计划:通过提前浏览整个计划,可以评估对正在运行的资源所造成的影响。创建后可获取预估费用,但不会产生费用,只有您进行了部署操作时,资源编排服务才会对您的资源栈进行更改,并根据资源进行计费。
咱们先点击创建执行计划后再创建资源,当然了也可以直接选择部署资源栈
创建完执行计划后,再点击执行部署,这步才是真正的执行资源部署
注意在执行过程中,要注意事件的输出,不断的翻看下历史输出信息,查看是否有报错信息
终于部署完成了!!! 2025/06/14 14:36:49
开始部署至 2025/06/14 14:55:25
结束,大约20分钟。
4. 高可用版本组件功能详解
4.1. 弹性公网IP
三个弹性公网IP EIP,提供访问公网和被公网访问能力
这三个EIP分别用于负载均衡器也就是ELB会使用一个、NAT网关也就是主机示例通过SNAT出公网会使用一个和虚拟IP地址。
4.2. 负载均衡ELB
弹性负载均衡 ELB,并绑定EIP(上面创建的EIP中的一个IP),将访问流量自动分发到不同后端服务,扩展应用系统对外的服务能力,实现强大的应用容错性能
最后访问Dify平台就是通过这个ELB的公网IP地址(也就是EIP中用于ELB的公网IP)。
4.3. NAT网关
NAT网关,并绑定EIP,配置SNAT规则,提供安全可靠的公网NAT网关和私网NAT网关服务,保护私有网络信息不对外暴露。
NAT网关的作用是Dify平台的三个示例节点可能需要从公网获取数据或调用外部服务。通过NAT网关的SNAT功能,VPC内的Dify实例可以共享弹性公网IP访问互联网,而无需为每个实例单独绑定公网IP,从而降低成本并提高安全性
4.4. FlexusX实例
三台FlexusX实例,用于安装部署Dify5个核心插件
一台FlexusX实例,用于部署Embedding(bge-m3)及Reranker(bge-reranker-v2-m3)模型
登录其中一台CCE实例,查看下正在运行的容器,一般也不需要在此处登录,可以直接使用下面的云容器引擎CCE Turbo工具来连接查看运行的Pod。这里登录一下便于大家理解其中的原理。
4.5. 云容器引擎CCE Turbo集群
云容器引擎 CCE Turbo集群,创建节点池并将三台FlexusX实例纳管为集群的Node节点
点击使用命令行工具,可以查看所有的Node节点和运行的Pod:
这三个节点就是前面用于部署Dify5个核心插件的三台FlexusX实例
4.6. 分布式缓存服务Redis
分布式缓存服务Redis版,为用户提供高性能数据库,同时数据流转过程中数据的一致性
4.7. 云数据库
云数据库 RDS for PostgreSQL实例,主备分区部署,具备跨可用区故障容灾的能力。在我的“高可用版验证与测试”博文中重点也说明了云数据库的主从切换验证
4.8. 云搜索服务CSS OpenSearch集群
创建一个云搜索服务 CSS OpenSearch集群,提供在线分布式搜索及语义搜索等功能
Dify平台通常需要快速、准确的数据检索能力,例如对用户查询内容、知识库内容或日志的搜索。OpenSearch集群为Dify平台提供了高效、稳定的搜索和分析能力,还通过其高可用性保障了平台的长期稳定运行。
4.9. 安全组
创建四个安全组,通过配置安全组规则,为云服务器提供安全防护
假如在最后无法通过ELB公网IP访问Dify平台,可以来检查下安全组的配置。
5. Dify对接华为云ModelArts Studio大模型服务功能验证
第一步:找到ELB的公网地址在浏览器中登录,先对Dify进行登录账号设置:
第二步:进入模型供应商页签,选择华为云MaaS平台
,对接华为云ModelArts Studio
大模型
API Key
请填入:API Key生成的KEY,首先得开通华为云ModelArts Studio大模型服务
添加一个LLM大模型,因为我在ModelArts Studio大模型服务中开通的DeepSeek-V3-32K
,所以此处先择DeepSeek-V3
。具体自己开通的是哪个版本可以登录ModelArts Studio控制台查看
添加完成大模型之后,使用添加的华为云大模型验证下功能:
高可用版本再结合华为云ModelArts Studio大模型服务响应很快,输出很丝滑。高可用版本到这就部署完成了。
6. 集群资源释放
点击资源编排服务中的删除
即可
如果遇到多次删除都失败的情况,可以去控制台手动逐个删除资源
7. FAQ常见问题
问题一:huaweicloud cce_cluster.cluster: Creation errored after 1s, Diagnostic details : [Error. error creating CCE cluster
解决办法:
点击确定后,再回到部署界面点击继续部署
问题二:huaweicloud _rds_instance.rds: Creation errored after 0s, Diagnostic details : [Error error creating RDS instance
数据库密码不要有1234这种连续数字,需要多种组合,足够复杂。所有密码不能有/, ?, #, @, :
更新模板密码是不管用的,需要删除资源重新部署