华为云云应用引擎CAE快速部署Dify指南

举报
华为云PaaS服务小智 发表于 2025/05/23 17:46:12 2025/05/23
【摘要】 前置准备下载附件中的Terraform自动化部署模板或者直接使用存储在OBS桶中的模板链接:进入华为云云应用引擎CAE服务页面,在弹窗授权给CAE中点击确定,授权CAE委托到华为云账号(只需授权一次,已授权过则可忽略此步骤)部署Dify资源登录到华为云,打开资源编排服务RFS_应用上云_云上自动化_华为云,点击RFS跳转到其控制台页面跳转到资源栈,点击立即创建资源栈进入选择模板页中,点击添加...

前置准备


  • 扫描下方二维码下载Terraform自动化部署模板:

https___dify-resource.obs.cn-north-4.myhuaweicloud.com_dify-auto-deploy.zip_AccessKeyId=HPUACIF1B3AVF2YGGRWD&Expires=1778919940&Signature=QJpFsB4rIAcdbPeLtsc1Hjc1h10%3D.png


  • 进入华为云云应用引擎CAE服务页面,在弹窗授权给CAE中点击确定,授权CAE委托到华为云账号(只需授权一次,已授权过则可忽略此步骤)

    图1.jpg


部署Dify资源


  1. 登录到华为云,打开资源编排服务RFS_应用上云_云上自动化_华为云,点击RFS跳转到其控制台页面

    图2.PNG


  2. 跳转到资源栈,点击立即创建资源栈

    图3.jpg


  3. 进入选择模板页中,点击添加文件,将前置准备中下载的Terraform自动化部署模板上传,之后点击下一步

    4.png


    也可以直接使用存储在OBS桶中的模板链接

    5.png


  4. 进入参数配置页中,设置资源栈必要参数,填写如下参数后,点击下一步 

    • resource_name_prefix - 资源名称前缀,命名规则{resource_name_prefix}-资源英文名称,例如:vpc名称为{resource_name_prefix}-vpc,其中OBS桶的命名为保证全局唯一,额外添加了时间戳后缀。取值范围:4-24个字符,支持小写字母、数字、-(中划线)。必须以小写字母开头。禁止以中划线(-)开头。默认为dify。

    • ak - 用户访问密钥AK,在我的凭证中创建,用于将Dify应用数据写入OBS桶中。具体获取方法可以参考在哪里可以获取AK和SK?_对象存储服务 OBS_华为云

    • sk - 用户访问密钥SK,在我的凭证中创建,用于将Dify应用数据写入OBS桶中。具体获取方法可以参考在哪里可以获取AK和SK?_对象存储服务 OBS_华为云

    • pgsql_password - PostgreSQL数据库的管理员密码,所设置的密码长度为8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合,其中允许输入~!@#$%^*-_=+?,()&.|特殊字符。

    • redis_password - Redis数据库密码。取值范围:8-64个字符,密码至少必须包含大写字母、小写字母、并包含数字或特殊字符`~!@#$^&*()-_=+|{},<.>/?

    • css_password - CSS向量数据库的密码。取值范围:8-32个字符,密码至少必须包含大写字母、小写字母、并包含数字或特殊字符~!@#$%^&*()-_=+|[{}];:,<.>/? 。安全集群的密码会进行弱口令校验,建议设置安全性高的密码。

    • dify_secret_key - Dify用于对会话cookie进行签名并加密数据库中的敏感信息的密钥。您可以使用 openssl rand -base64 42 生成一个强密钥。

  5. 资源栈设置页面中,可以保持默认不进行任何配置,直接点击下一步

    6.png


  6. 在最后配置确认页面中,再检查一遍配置的参数是否符合预期,之后点击创建执行计划

    7.png


    在跳出的弹窗中点击确定

    8.png


  7. 等待执行计划状态变为创建成功,待部署后,点击部署

    9.png


    在这个界面可以点击费用预估以察看Dify应用依赖资源的费用(默认都按照按需付费创建相关资源)

    10.png


    其中CAE和ELB的费用计算暂不支持,需要参照官方文档进行预估

    11.png


  8. 之后等待资源栈部署成功(约需等待15分钟)。在创建过程中可能存在部分因素导致资源创建失败,如账号余额不足,资源配额不足,用户设置的密码不合规,账号权限不足等,可以通过查看生成失败的原因后进行相应处理。下图报错的原因是因为CAE服务默认只允许创建一个环境,而当前账号下已有一个正在运行的环境了,需要将此环境删除,或者申请扩大环境配额。

    12.png


    处理完毕后,点击右上角的继续部署,rfs会重试创建对应的资源

  9. 在资源栈部署成功后,执行计划状态为已执行部署

    13.png


    基本信息中的状态则显示为部署成功

    14.png


配置CAE环境


  1. 进入云应用引擎CAE_应用托管服务_微服务应用托管_零代码改造上云-华为云的控制台界面
  2. 点击组件列表,确认当前已创建了一个环境,一个应用和六个组件

    15.png


  3. 点击系统设置,编辑系统网络配置,分别打开CAE环境访问公网公网访问CAE环境开关(部分region上的CAE环境在创建后已默认打开,可不用重复打开),在VPC访问CAE环点击添加配置,等待其配置完成

    16.png


  4. 回到组件列表页面,依次点击部署

    17.png


  5. 等待组件全部进入运行中状态

    18.png


  6. 此时Dify应用已完成部署,可以点击service-web组件的公网地址进入到Dify应用中

    19.png


  7. 首次进入Dify应用需要设置管理员账户

    20.png


删除Dify资源


  1. 切换到组件列表中,依次停止所有CAE组件,等待停止完成

    21.png


  2. 删除掉其中的service-apiservice-webplugin-daemon组件,等待删除完成

    22.png


  3. 进入到系统设置页面,编辑系统网络配置,删除VPC访问CAE环境配置,等待删除完成

    23.png


  4. 回到资源编排服务RFS_应用上云_云上自动化_华为云的控制台页面,进入资源栈页面,删除这个Dify应用对应的资源栈

    24.png


    删除方式选择删除资源,点击确定

    25.png


  5. 等待资源栈删除完成即可

    26.png


依赖资源


收费项目

  • 一个弹性公网IP EIP,提供访问公网和被公网访问能力

  • 一个弹性负载均衡 ELB,并绑定EIP,将访问流量自动分发到不同后端服务,扩展应用系统对外的服务能力,实现强大的应用容错性能

  • 一个CAE环境,用于安装部署Dify6个核心组件

  • 一个OBS桶,用于将Dify的知识库挂载在对象存储服务 OBS桶上

  • 一个分布式缓存服务Redis®*版,兼容Redis,为用户提供高性能、低成本NoSQL数据库,同时数据流转过程中数据的一致性

  • 一个云数据库 RDS for PostgreSQL实例,主备分区部署,具备跨可用区故障容灾的能力

  • 一个云搜索服务 CSS OpenSearch集群,提供在线分布式搜索及语义搜索等功能

免费项目

  • 一个安全组,通过配置安全组规则,为云服务器提供安全防护
  • 一个VPC和一个子网,作为所有华为云资源创建的前置依赖

  • 一个镜像仓库组织,作为CAE环境创建的前置依赖


方案架构

27.png

常见问题


  • 如果设置了管理员账号后忘记了账号密码,则可以参考Dify官方文档重置账号密码,即进入任意service-api组件的容器,执行如下命令


    flask reset-password



    进入容器的方法为点击实例列表,然后切换到service-api组件,点击远程登陆

    28.png

    等待CloudShell服务连接到容器中,执行命令

    29.png


  • Dify的邮件发送能力需要在组件的环境变量配置(参考https://github.com/langgenius/dify/blob/1.2.0/docker/.env.example中添加邮箱相关环境变量,具体配置在service-api,service-worker,plugin-daemon组件中,并在配置完之后生效配置。其它环境变量也可参照此方法配置。

    30.png

约束与限制


  • 该方案部署前,需注册华为账号并开通华为云,完成实名认证,且账号不能处于欠费或冻结状态。如果计费模式选择“包年包月”,请确保账户余额充足以便部署资源的时候可以自动支付;或者在部署的过程进入费用中心,找到“待支付订单”并手动完成支付。
  • 如果选用IAM委托权限部署资源,请确保使用的华为云账号有IAM的足够权限,建议使用华为主账号或admin用户组下的IAM子账户。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。