字节跳动云原生

火山引擎云上实战:多人玩转 ComfyUI

图片
来源 | 火山引擎云基础

ComfyUI 是一个基于节点式工作流的 Stable Diffusion 可视化操作框架,它通过模块化设计和可编程交互界面,让用户能够以拖拽节点的方式自由组合图像生成流程,如文生图、图生图、ControlNet 控制等,相比传统 WebUI 更灵活且适合复杂工作流编排,尤其适合 AI 绘画高阶用户和自动化生产场景,是 Stable Diffusion 生态中兼顾可视化与工程化的解决方案,也是最受企业欢迎的 Stable Diffusion 版本之一。

发布至今,虽然社区版的 ComfyUI 在设计、插画、教学等领域有着非常广泛的应用,但对于企业级生产场景应用有一些限制,例如:

  • 缺乏多用户协作支持,无法实现团队并行开发或权限分级管理,导致工作流难以协同优化;

  • 资源隔离缺失,单个用户的实验或错误操作可能占用全部计算资源,影响其他成员任务稳定性和整体运维效率。

针对上述问题,以及企业生产场景中常见的多用户同时使用一个 ComfyUI 服务的诉求,火山引擎云基础团队推出了 ComfyUI 集群版方案,它具有以下优势:

◇ 高效服务部署与访问

  • 一站式部署流程:通过预置的 Stable Diffusion ComfyUI 集群版应用模板,15 分钟内即可完成从环境准备到服务拉起的全流程;

  • 便捷的访问方式:集成 API 网关,提供公网/私网双域名访问入口,用户通过浏览器即可快速接入专属空间,1 分钟内完成初始化。

◇ 内置插件与灵活扩展

  • 预置丰富插件:开箱即用,集群版镜像已集成多种常用插件(如插件管理、图像优化、风格扩展等),用户部署后无需手动安装,可直接调用插件功能,大幅降低学习与配置成本;

  • 灵活挂载机制:用户可通过 TOS 或 NAS 将私有插件挂载至 ComfyUI 指定路径,无缝对接企业自有工具链或定制化插件。

◇ 多用户协同与权限管理

  • 多用户隔离访问:支持多人同时使用同一服务,每个用户拥有独立的操作界面和数据存储空间,避免单机版因多用户并发请求导致的数据混淆问题。

  • 精细化权限控制:提供“管理员”和“只读”两种权限模式,管理员拥有完整操作权限,而只读用户仅可查看内容,满足企业级权限分级需求。

◇ 资源利用效率提升

  • 共享资源池,降低运维成本:通过集群化部署,无需为每个用户单独搭建 ComfyUI 服务,统一管理计算资源,减少重复运维工作。

  • 弹性容器实例(VCI)支持:支持按需动态分配 GPU/CPU 资源,结合镜像缓存技术显著优化资源使用效率与部署速度。

为了方便读者快速体验该方案,本文将基于火山引擎持续交付CP(Code Pipeline)的 AI 应用,具体展示如何快速拉起 ComfyUI 集群版(目前该应用模板正在邀测中,欢迎新用户联系商务经理开通)。

快速拉起 ComfyUI 集群版

在此前发布的 《最新文生图神器 FLUX.1,火山引擎云上部署实战!》一文中,我们介绍了基于 SD ComfyUI 应用模版(现在已更名为Stable Diffusion ComfyUI单机版)快速拉起 ComfyUI 服务并试验 FLUX.1 文生图能力的方案。本文要介绍的 Stable Diffusion ComfyUI集群版应用模版与其流程大致相似,拉起服务的过程包含以下步骤:

  • 准备部署环境:AI 应用仅支持使用火山引擎容器服务 VKE 创建的 Kubernetes 集群作为模型服务的部署环境,用户需要提前将集群导入到持续交付 CP 的部署资源中,作为后续模型服务的部署环境;

  • 创建 AI 应用并部署服务:基于持续交付 CP 预置的 AI 应用模板部署服务,并且配置服务访问方式;

  • 体验 ComfyUI 集群版能力:基于经典多人场景,体验 ComfyUI 集群版的强大能力。

步骤一:准备部署环境

1. 准备一个火山引擎容器服务 VKE 集群,并已安装 csi-tos 和 nvidia-device-plugin 组件:https://www.volcengine.com/docs/6460/101014。

2. 将 VKE 集群导入到火山引擎持续交付 CP 的 部署资源中:登录持续交付 CP 的控制台 https://console.volcengine.com/cp/v2/overview,在左侧菜单栏选择【资源管理】-【部署资源】页面,点击【创建部署资源】,导入准备好的 VKE 集群。

Image
步骤二:创建 AI 应用并部署服务

1. 点击左侧菜单栏【AI 应用】,点击【立即创建 AI 应用】,选择【Stable Diffusion ComfyUI 集群版】这个应用模版:

Image

2. 点击【下一步:应用配置】,进入应用配置页面。在【基本信息】模块,填写应用标识和应用显示名。

Image

3. 在【部署集群】模块,选中 前文步骤一中创建的部署资源,选择命名空间。填写环境标识,将此作为该 AI 应用的部署环境。

Image

4. 在【模型配置】模块,使用预置的【官方模型】,挂载路径使用预填的 /comfyui/models/checkpoints/,无需修改。

Image

如果需要使用自定义的模型,可选择【自持模型】,这里支持 TOS 挂载、制品库挂载和 NAS 挂载等多种方式。

5. 在【推理服务规格】模块,设置模型挂载和推理所需的资源规格。在【资源配置类型】处,选择【GPU 计算型】,并在下方勾选合适的规格族。

注:请先提前申请资源配额,避免部署时资源不足,GPU 资源默认配额见:https://www.volcengine.com/docs/6460/1132983。

Image

弹性容器实例 VCI 是火山引擎云基于团队基于字节跳动内部深度实践,推出的一种无服务器 Serverless 和容器化的计算服务,能通过免运维、免规划以及按量付费的方式,帮助用户降低使用成本。用户可以勾选【以弹性容器实例方式部署】来管控资源和运维成本。

6. 在【Web 服务规格】模块,选择合适的 CPU 和内存组合。这里以 ComfyUI Web 资源的规格为例,默认 Web 服务实例数量为 1 个。

Image

7. 在【访问配置】模块,选择【API 网关】,点击右侧的“创建 API 网关实例”:https://www.volcengine.com/docs/6569/85693,结束后回来选择创建好的 API 网关实例。

Image

在完成配置后,点击【确定】,将会创建应用,并会立刻触发应用部署。

8. 等待服务拉起。由于应用本身的镜像很大,第一次部署的等待时间会较长,约在 15 分钟左右。如果此前在步骤五选择了使用 VCI 部署,我们可以使用其镜像缓存功能来加速部署——在 VCI 部署模式下,AI 应用会默认开启镜像缓存进行加速,可以将原来接近 15 分钟的镜像下载时间降低到秒级。

服务拉起后,我们可以在应用【基本信息】—【资源配置】页面看到应用实例状态,等到应用实例“运行状态”到了“Running”,则表明应用启动成功:

Image

如上图所示,可以看到有两个实例,其中一个和应用同名的实例为 Web 服务实例,另一个带有 prompt 后缀的实例为推理服务实例。

9. 配置服务访问方式。在【基本信息】—【访问配置】—【API 网关】栏,我们可以看到已经在 API 网关生成了应用的“公网访问域名”和“私网访问域名”:

Image

复制公网服务域名到浏览器中,即可访问 ComfyUI 服务。为拉起专属的用户空间,每个用户在初次访问时需等待 3 分钟左右。

Image
Image
步骤三:体验 ComfyUI 集群版能力

前文介绍了 ComfyUI 集群版与单机版的功能差异,主要体现在多用户权限控制和界面隔离,这里我们可以进行一些验证:进入应用的【基本信息】-【访问配置】-【权限控制】,可以给当前主账号下的 IAM 用户添加「管理员」、「只读」权限。

Image

通过权限控制,我们可以限制多人同时访问控制台 AI 应用时可执行的操作。其中管理员具备当前应用所有功能的所有操作权限,而只读仅具备当前应用的查看操作权限。

当多个浏览器用户通过 API 公网域名地址来访问 ComfyUI 集群版应用时,每个用户的界面数据是互相隔离、互不影响的。例如用户 A 在浏览器的 ComfyUI 界面中执行了 3 次文生图推理,则其推理历史为:

Image

用户 B 在浏览器的 ComfyUI 界面中执行了 2 次文生图推理,则其推理历史为:

Image

如上图所示,两者的界面数据已经完全隔离开,并未因为使用的同一个 ComfyUI 应用就导致数据混乱,这也是 ComfyUI 集群版的特有功能。

结语

以上就是基于火山引擎持续交付 CP 快速拉起 ComfyUI 集群版的全过程,欢迎感兴趣的用户开通产品服务进行体验。未来我们也将推出更多基于 AI 应用的大模型部署实践,欢迎大家长期关注。

Image
相关链接
[1] www.volcengine.com/product/vke

[2] www.volcengine.com/product/cp

[3] www.volcengine.com/product/cr
[4] www.volcengine.com/product/ecs
Image
Image
Image