全部產品
Search
文件中心

Container Service for Kubernetes:基於ACK叢集部署ComfyUI應用

更新時間:Sep 18, 2025

基於ACK託管叢集Pro版和GPU節點,可以快速部署ComfyUI應用,解決本地效能瓶頸和複雜環境配置的問題。

適用範圍

  • 叢集版本為1.22及以上,GPU節點顯存需為16GB及以上的ACK託管叢集Pro版

  • 設定NVIDIA驅動為535及以上版本,本樣本為GPU節點池添加標籤ack.aliyun.com/nvidia-driver-version,驅動版本為550.144.03

步驟一:準備模型資料

本文以sdxl-turbo模型(文生圖模型,單步即可出圖)為例,示範如何下載模型,上傳至OSS,並在ACK中建立PV和PVC進行持久化儲存。

  1. 下載模型檔案到本地。

    1. 安裝Git、Git LFS(Large File Support)外掛程式。

      macOS

      1. 安裝Git。

        官方維護的 macOS Git 安裝程式可以在 Git 官方網站下載。
        brew install git
      2. 安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。

        brew install git-lfs

      Windows

      1. 安裝Git。

        可在Git 官方網站下載合適版本並安裝。

      2. 安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。

        目前lfs已經整合在了Git for Windows 中,直接下載和使用最新版本的Windows Git即可。

      Linux

      1. 安裝Git。

        以RedHat系列的Linux系統為例,其餘系統安裝,請參見Git 官方網站

        yum install git
      2. 安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。

        yum install git-lfs
    2. 下載sdxl-turbo模型。

      GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/AI-ModelScope/sdxl-turbo.git
      cd sdxl-turbo
      git lfs pull
  2. 將下載的sdxl-turbo檔案夾上傳至OSS。

    1. 安裝ossutil,用於管理OSS資源。

    2. 建立Bucket儲存空間。

      ossutil mb oss://<Your-Bucket-Name>
    3. 在OSS建立名為sdxl-turbo的目錄。

      ossutil mkdir oss://<Your-Bucket-Name>/sdxl-turbo
    4. 上傳模型檔案至OSS。

      ossutil cp -r ./sdxl-turbo oss://<Your-Bucket-Name>/sdxl-turbo
  3. 配置儲存卷PV。

    1. 登入Container Service管理主控台,進入叢集詳情頁。

    2. 在左側導覽列,選擇儲存 > 儲存卷

    3. 儲存卷頁面,單擊右上方的建立

    4. 建立儲存卷對話方塊中配置參數。

      • 儲存卷類型:OSS

      • 名稱:sdxl-turbo-model

      • 總量:20Gi

      • 訪問模式:ReadWriteMany

      • 訪問認證:選擇建立保密字典

      • 選擇性參數-o umask=022 -o max_stat_cache_size=0 -o allow_other

      • Bucket ID選擇Bucket

      • OSS Path:/sdxl-turbo

      • 訪問網域名稱:公網網域名稱

      參數配置完成後,單擊建立

  4. 配置儲存聲明PVC。

    1. 在左側導覽列,選擇儲存 > 儲存聲明

    2. 建立儲存聲明頁面中,填寫介面參數。

      • 儲存宣告類型:OSS

      • 名稱:sdxl-turbo-model

      • 分配模式:已有儲存卷

      • 已有儲存卷:選擇已有儲存卷

      • 總量:20Gi

      建立成功後可以在列表中看到sdxl-turbo-model,並且已綁定(Bound)相應的儲存卷。

步驟二:配置Models部署參數

  1. 登入Container Service管理控制,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇應用 > Helm。找到comfyui組件,按頁面引導完成建立。image

  3. comfyui參數配置介面中,修改persistence參數的模型配置資訊,其餘保持預設。

    persistence:
      - mountPath: "/app/ComfyUI/models/checkpoints"       #修改模型來源
        annotations:
          helm.sh/resource-policy: keep
        persistentVolumeClaim:      
          existingClaim: "sdxl-turbo-model"    #修改為以上建立的PVC
          accessModes: ReadWriteMany
          storageClass: oss                    #儲存卷類型修改為oss
          size: 20Gi
          subPath: ""
    • 修改模型來源:mountPath:"/app/ComfyUI/models/checkpoints"

    • 修改為已建立PVC:existingClaim:"sdxl-turbo-model"

    • 修改儲存卷類型:storageClass:oss

步驟三:訪問並測試服務

  1. 使用kubectl命令將ComfyUI服務轉寄到本地8080連接埠。

    確保本地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

  2. 下載sdxl-turbo樣本工作流程,並在ComfyUI頁面單擊Load,將擷取的工作流程載入到ComfyUI中。

  3. 設定提示詞,在CLIP Text Encode(Prompt)文字框輸入:

    beautiful landscape scenery glass bottle with a galaxy inside cute fennec fox snow HDR sunset
  4. 在ComfyUI頁面,依次設定Extra Options -> Auto Queue,然後單擊Queue Prompt,產生圖片如下所示。

    image