Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Deploy a ComfyUI application on an ACK cluster

Última atualização: Sep 20, 2026

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.03 por meio do rótulo de pool de nós ack.aliyun.com/nvidia-driver-version)

  • kubectl configurado para se conectar ao cluster

  • Git 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.

  1. Instale o Git e o Git LFS.

    macOS

    Baixe o Git no site oficial do Git, ou execute:

    brew install git
    brew install git-lfs

    Windows

    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
  2. 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 pull

    O primeiro comando clona os metadados do repositório sem baixar arquivos grandes. Em seguida, git lfs pull busca 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.

  1. Instale o ossutil, uma ferramenta de linha de comando para gerencie recursos do OSS.

  2. Crie um bucket OSS. Substitua <Your-Bucket-Name> por um nome globalmente único.

    ossutil mb oss://<Your-Bucket-Name>
  3. 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

  1. Acesse o ACK console e vá até a página de detalhes do cluster.

  2. No painel de navegação à esquerda, escolha Volumes > Persistent Volumes.

  3. Clique em Create e configure os seguintes parâmetros:

    Parâmetro

    Valor

    PV Type

    OSS

    Volume Name

    sdxl-turbo-model

    Capacity

    20Gi

    Access Mode

    ReadWriteMany

    Access Certificate

    Create Secret

    Optional Parameters

    -o umask=022 -o max_stat_cache_size=0 -o allow_other

    Bucket ID

    Selecione o bucket onde você fez upload do modelo

    OSS Path

    /sdxl-turbo

    Endpoint

    Public Endpoint

  4. Clique em Create.

Criar um PVC

  1. No painel de navegação à esquerda, escolha Volumes > Persistent Volume Claims.

  2. Clique em Create e configure os seguintes parâmetros:

    Parâmetro

    Valor

    PVC Type

    OSS

    Name

    sdxl-turbo-model

    Allocation Mode

    Existing Volumes

    Existing Volumes

    Selecione o PV sdxl-turbo-model

    Capacity

    20 Gi

  3. Clique em Create. O PVC sdxl-turbo-model aparece na lista com status Bound.

Etapa 4: Implante o ComfyUI com Helm

  1. No ACK console, clique em Clusters no painel de navegação à esquerda e, em seguida, clique no nome do cluster.

  2. No painel de navegação à esquerda, escolha Applications > Helm.

  3. Clique em Deploy. Localize o componente comfyui e clique em Next.

  4. Na etapa Parameters, localize a seção persistence e 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

    storageClass

    oss

    Corresponde ao PV baseado em OSS

Etapa 5: Acesse o ComfyUI e gere imagens

  1. Encaminhe o service do ComfyUI para uma porta local usando kubectl.

    kubectl port-forward svc/ack-comfyui 8080:8188

    Saída esperada:

    Forwarding from 127.0.0.1:8080 -> 8188
    Forwarding from [::1]:8080 -> 8188
    Observaçã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.
  2. Abra um navegador e acesse http://localhost:8080.

  3. Baixe o workflow de exemplo do sdxl-turbo. Na interface do ComfyUI, clique em Load e selecione o arquivo de workflow baixado.

  4. 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
  5. Ative Extra Options e Auto Queue no painel de configurações e clique em Queue Prompt para gerar uma imagem.

    ComfyUI interface showing generated image output

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.