基於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進行持久化儲存。
下載模型檔案到本地。
安裝Git、Git LFS(Large File Support)外掛程式。
macOS
安裝Git。
官方維護的 macOS Git 安裝程式可以在 Git 官方網站下載。
brew install git安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。
brew install git-lfs
Windows
安裝Git。
可在Git 官方網站下載合適版本並安裝。
安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。目前lfs已經整合在了Git for Windows 中,直接下載和使用最新版本的Windows Git即可。
Linux
安裝Git。
以RedHat系列的Linux系統為例,其餘系統安裝,請參見Git 官方網站。
yum install git安裝Git LFS(Large File Support)外掛程式拉取大檔案內容。
yum install git-lfs
下載sdxl-turbo模型。
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/AI-ModelScope/sdxl-turbo.git cd sdxl-turbo git lfs pull
將下載的sdxl-turbo檔案夾上傳至OSS。
安裝ossutil,用於管理OSS資源。
建立Bucket儲存空間。
ossutil mb oss://<Your-Bucket-Name>在OSS建立名為sdxl-turbo的目錄。
ossutil mkdir oss://<Your-Bucket-Name>/sdxl-turbo上傳模型檔案至OSS。
ossutil cp -r ./sdxl-turbo oss://<Your-Bucket-Name>/sdxl-turbo
配置儲存卷PV。
登入Container Service管理主控台,進入叢集詳情頁。
在左側導覽列,選擇。
在儲存卷頁面,單擊右上方的建立。
在建立儲存卷對話方塊中配置參數。
儲存卷類型:OSS
名稱:sdxl-turbo-model
總量:20Gi
訪問模式:ReadWriteMany
訪問認證:選擇建立保密字典
選擇性參數:
-o umask=022 -o max_stat_cache_size=0 -o allow_otherBucket ID:選擇Bucket。
OSS Path:/sdxl-turbo
訪問網域名稱:公網網域名稱
參數配置完成後,單擊建立。
配置儲存聲明PVC。
在左側導覽列,選擇。
在建立儲存聲明頁面中,填寫介面參數。
儲存宣告類型:OSS
名稱:sdxl-turbo-model
分配模式:已有儲存卷
已有儲存卷:選擇已有儲存卷
總量:20Gi
建立成功後可以在列表中看到
sdxl-turbo-model,並且已綁定(Bound)相應的儲存卷。
步驟二:配置Models部署參數
登入Container Service管理控制,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。找到comfyui組件,按頁面引導完成建立。

在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
步驟三:訪問並測試服務
使用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。下載sdxl-turbo樣本工作流程,並在ComfyUI頁面單擊
Load,將擷取的工作流程載入到ComfyUI中。設定提示詞,在CLIP Text Encode(Prompt)文字框輸入:
beautiful landscape scenery glass bottle with a galaxy inside cute fennec fox snow HDR sunset在ComfyUI頁面,依次設定
Extra Options->Auto Queue,然後單擊Queue Prompt,產生圖片如下所示。