ComfyUI是一款开源的图形化AI工作流工具,专注于简化生成式模型(如Stable Diffusion)的开发和部署流程。其基于节点化设计,您可通过拖放模块快速搭建图像生成、文本处理等复杂流程,支持本地与云端部署。本文将介绍如何基于阿里云产品完成ComfyUI的本地安装,包括环境配置、依赖安装及基础使用等步骤。
ComfyUI简介
ComfyUI是一个功能强大且灵活的图像生成工具,通过节点工作流的方式提供了丰富的定制化选项。ComfyUI将每一步操作抽象成节点,并通过节点之间的连接形成生成图像的工作流。您可以通过拖拽和连接不同的模型、模块和参数,形成高度定制和可复用的工作流。相较于传统的Stable Diffusion WebUI,ComfyUI提供了更灵活和直观的操作方式。详细信息,请参见ComfyUI 官方文档。
环境准备
ComfyUI支持配置
--cpu
参数,来基于CPU进行推理服务。但从性能角度考虑,最好创建包含GPU节点的ACK集群Pro版,且集群版本为1.22及以上,GPU节点显存需为16GB及以上。具体操作,请参见创建ACK托管集群。建议GPU节点使用525及以上版本的驱动,您可以通过为GPU节点池添加标签ack.aliyun.com/nvidia-driver-version:525.105.17指定驱动版本为525.105.17。具体操作,请见通过指定版本号自定义节点GPU驱动版本。
1. 准备模型数据
本文以flux1-dev模型为例,演示如何下载模型、上传模型至OSS,以及在ACK集群中创建对应的存储卷PV和存储卷声明PVC。详细信息,请参见ComfyUI支持的模型的PV和PVC。如需上传模型至NAS,请参见使用NAS静态存储卷。
下载模型文件。
执行以下命令,安装Git。
# 可执行yum install git或apt install git安装。 yum install git
执行以下命令,安装Git LFS(Large File Support)插件。
# 可执行yum install git-lfs或apt install git-lfs安装。 yum install git-lfs
执行以下命令,将ModelScope上的flux1-dev仓库克隆到本地。
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/AI-ModelScope/sdxl-turbo.git
执行以下命令,进入flux1-dev目录,下载LFS管理的大文件
cd sdxl-turbo git lfs pull
将下载的flux1-dev文件夹上传至OSS。
为目标集群配置存储卷PV和存储声明PVC。具体操作,请参见使用OSS静态存储卷。
以下为示例PV的配置信息:
配置项
说明
存储卷类型
OSS
名称
sdxl-turbo-model
访问证书
配置用于访问OSS的AccessKey ID和AccessKey Secret。
Bucket ID
选择已创建的OSS Bucket。
OSS Path
选择模型所在的路径,如/models/sdxl-turbo。
以下为示例PVC的配置信息:
配置项
说明
存储声明类型
OSS
名称
sdxl-turbo-model
分配模式
选择已有存储卷。
已有存储卷
单击选择已有存储卷链接,选择已创建的存储卷PV。
2. 配置Models部署参数
登录容器服务管理控制,在左侧导航栏选择集群列表。在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。找到comfyui组件单击安装即可。
在comfyui参数配置界面中设置相关参数。
persistence: - mountPath: "/app/ComfyUI/models/checkpoints" annotations: helm.sh/resource-policy: keep persistentVolumeClaim: #设置为以上创建的PVC name existingClaim: "sdxl-turbo-model" accessModes: ReadWriteMany size: 20Gi subPath: ""
3. 访问服务
登录容器服务管理控制,在左侧导航栏选择集群列表。在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。在无状态页面,单击选择ack-comfyui部署的命名空间,等待所有Pod就绪。
将服务转发到本地,将占用本地的8080端口,参考port-forward。
kubectl port-forward svc/ack-comfyui 8080:8188
命令执行成功后,输出内容如下。
Forwarding from 127.0.0.1:8080 -> 8188 Forwarding from [::1]:8080 -> 8188
在本地通过浏览器访问服务http://localhost:8080。
(可选)安装ComfyUI-Manager组件
ComfyUI-Manager是一款专为增强ComfyUI易用性设计的扩展工具。该组件提供完整的节点管理体系,支持自定义节点的安装、卸载、禁用及启用等全生命周期管理操作。其内置的中心枢纽功能集成了信息聚合模块,可一站式访问ComfyUI生态系统内的多样化资源信息
登录容器服务管理控制,在左侧导航栏选择集群列表。在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。找到comfyui组件单击安装即可。
说明当您在ComfyUI平台安装第三方扩展及自定义节点时,请务必自行甄别和评估扩展组件的安全性。由于生态系统的开放性,平台无法对第三方开发者提供的扩展功能作出安全性承诺。
如果您需要通过官方扩展插件ComfyUI Manager来提高ComfyUI的易用性、高效地管理节点和工作流,您可以将values.yaml中的command字段修改为如下的启动命令。
command: - /bin/sh - -c args: - | cd ComfyUI/custom_nodes && \ git clone https://github.com/ltdrdata/ComfyUI-Manager.git && \ cd .. && \ python3 -u /app/ComfyUI/main.py --listen 0.0.0.0