Este tutorial apresenta o processo de implantação do ComfyUI em um cluster ACK Pro gerenciado da Alibaba Cloud Container Service for Kubernetes com nós acelerados por GPU. Ao final, você terá uma instância do ComfyUI em execução, capaz de gerar imagens a partir de prompts de texto usando o modelo sdxl-turbo.
O que você vai construir:
Uma camada de armazenamento persistente de modelos baseada no Object Storage Service (OSS)
Uma implantação do ComfyUI no ACK via Helm
Um pipeline de geração de imagens funcional, acessível pelo navegador
Pré-requisitos
Antes de começar, certifique-se de ter:
Um cluster ACK Pro gerenciado executando Kubernetes 1.22 ou posterior, com nós acelerados por GPU com pelo menos 16 GB de memória GPU cada
NVIDIA driver versão 535 ou posterior instalado nos nós GPU (este tutorial usa
550.144.03por meio do rótulo de pool de nósack.aliyun.com/nvidia-driver-version)kubectlconfigurado para se conectar ao clusterGit e Git Large File Storage (LFS) instalados na máquina local
Etapa 1: Baixe o modelo
Este tutorial usa o sdxl-turbo, um modelo que gera imagens a partir de prompts de texto em uma única etapa de inferência.
-
Instale o Git e o Git LFS.
macOS
Baixe o Git no site oficial do Git, ou execute:
brew install git brew install git-lfsWindows
Baixe e instale o Git no site oficial do Git. O Git LFS está incluído no Git for Windows — baixe a versão mais recente.
Linux (Red Hat-based)
Para outras distribuições, consulte o site oficial do Git.
yum install git yum install git-lfs -
Clone o repositório do modelo e baixe os arquivos do modelo.
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/AI-ModelScope/sdxl-turbo.git cd sdxl-turbo git lfs pullO primeiro comando clona os metadados do repositório sem baixar arquivos grandes. Em seguida,
git lfs pullbusca os pesos reais do modelo.
Etapa 2: Faça upload do modelo para o OSS
Armazene os arquivos do modelo no OSS para que o cluster ACK possa montá-los como armazenamento persistente.
Instale o ossutil, uma ferramenta de linha de comando para gerencie recursos do OSS.
-
Crie um bucket OSS. Substitua
<Your-Bucket-Name>por um nome globalmente único.ossutil mb oss://<Your-Bucket-Name> -
Crie um diretório e faça upload dos arquivos do modelo.
ossutil mkdir oss://<Your-Bucket-Name>/sdxl-turbo ossutil cp -r ./sdxl-turbo oss://<Your-Bucket-Name>/sdxl-turbo
Etapa 3: Crie armazenamento persistente no ACK
Crie um Persistent Volume (PV) e um Persistent Volume Claim (PVC) para que o pod do ComfyUI possa acessar os arquivos do modelo armazenados no OSS.
Criar um PV
Acesse o ACK console e vá até a página de detalhes do cluster.
No painel de navegação à esquerda, escolha .
-
Clique em Create e configure os seguintes parâmetros:
Parâmetro
Valor
PV Type
OSS
Volume Name
sdxl-turbo-modelCapacity
20GiAccess Mode
ReadWriteMany
Access Certificate
Create Secret
Optional Parameters
-o umask=022 -o max_stat_cache_size=0 -o allow_otherBucket ID
Selecione o bucket onde você fez upload do modelo
OSS Path
/sdxl-turboEndpoint
Public Endpoint
Clique em Create.
Criar um PVC
No painel de navegação à esquerda, escolha .
-
Clique em Create e configure os seguintes parâmetros:
Parâmetro
Valor
PVC Type
OSS
Name
sdxl-turbo-modelAllocation Mode
Existing Volumes
Existing Volumes
Selecione o PV
sdxl-turbo-modelCapacity
20 Gi
Clique em Create. O PVC
sdxl-turbo-modelaparece na lista com status Bound.
Etapa 4: Implante o ComfyUI com Helm
No ACK console, clique em Clusters no painel de navegação à esquerda e, em seguida, clique no nome do cluster.
No painel de navegação à esquerda, escolha .
Clique em Deploy. Localize o componente comfyui e clique em Next.
-
Na etapa Parameters, localize a seção
persistencee atualize-a para montar o PVC do modelo. Mantenha todas as demais configurações com os valores padrão.persistence: - mountPath: "/app/ComfyUI/models/checkpoints" # Mount path for the model annotations: helm.sh/resource-policy: keep persistentVolumeClaim: existingClaim: "sdxl-turbo-model" # Use the PVC created earlier accessModes: ReadWriteMany storageClass: oss # Specify the storage type as OSS size: 20Gi subPath: ""Três campos a atualizar:
Campo
Valor
Finalidade
mountPath"/app/ComfyUI/models/checkpoints"Indica ao ComfyUI onde encontrar o modelo
existingClaim"sdxl-turbo-model"Referencia o PVC criado anteriormente
storageClassossCorresponde ao PV baseado em OSS
Etapa 5: Acesse o ComfyUI e gere imagens
-
Encaminhe o service do ComfyUI para uma porta local usando
kubectl.kubectl port-forward svc/ack-comfyui 8080:8188Saída esperada:
Forwarding from 127.0.0.1:8080 -> 8188 Forwarding from [::1]:8080 -> 8188Observação: Mantenha esta janela do terminal aberta para preservar a conexão de port forwarding. Verifique se a porta 8080 está disponível na máquina local.
Abra um navegador e acesse
http://localhost:8080.Baixe o workflow de exemplo do sdxl-turbo. Na interface do ComfyUI, clique em Load e selecione o arquivo de workflow baixado.
-
No campo de texto CLIP Text Encode (Prompt), insira um prompt. Por exemplo:
beautiful landscape scenery glass bottle with a galaxy inside cute fennec fox snow HDR sunset -
Ative Extra Options e Auto Queue no painel de configurações e clique em Queue Prompt para gerar uma imagem.

Solução de problemas
Pod preso no estado Pending
O nó GPU pode não ter recursos suficientes, ou a versão do driver NVIDIA pode não atender ao requisito.
Verifique os eventos do pod:
kubectl describe pod -l app.kubernetes.io/name=comfyui
Procure erros de agendamento relacionados a recursos de GPU ou seletores de nó. Confirme que os nós GPU têm o rótulo ack.aliyun.com/nvidia-driver-version defina com uma versão de driver 535 ou posterior.
Falha no port forwarding
Se kubectl port-forward falhar com um erro de conexão, verifique se o pod do ComfyUI está em execução:
kubectl get pods -l app.kubernetes.io/name=comfyui
O status do pod deve ser Running. Se o pod ainda estiver iniciando, aguarde até que esteja pronto antes de tentar novamente.
Próximas etapas
Experimente modelos diferentes: Baixe modelos adicionais para o bucket OSS e crie novos pares de PV/PVC para montá-los.
Escale com mais nós GPU: Adicione pools de nós GPU ao cluster ACK para cargas de trabalho paralelas.
Exponha o ComfyUI externamente: Configure um Ingress ou Server Load Balancer (SLB) para tornar o ComfyUI acessível fora da máquina local. Ao expor externamente, configure autenticação e políticas de rede para proteger o acesso.