Todos os produtos
Search
Central de documentação

Container Compute Service:Quick start: Build a generative AI chat app with ACS

Última atualização: Jun 29, 2026

O Alibaba Cloud Container Compute Service (ACS) oferece recursos de computação elásticos e sem servidor por meio de uma interface nativa do Kubernetes para executar aplicações em contêiner. Este tutorial orienta você na implantação de um aplicativo de chat de IA generativa em um cluster ACS usando o console do ACS e um certificado de cluster, além de mostrar como monitorar seu status.

Contexto

  • Este tutorial utiliza dois projetos de código aberto: RWKV-Runner (um modelo com 0,1 bilhão de parâmetros e uma API RESTful para inferência) e ChatGPT-Next-Web (a interface web de chat). Juntos, eles formam um aplicativo de chat de IA com frontend e backend desacoplados, implantado em um cluster ACS como imagens de contêiner.

  • Aprenda os fundamentos do Kubernetes no Curso Aberto de Tecnologia Nativa da Nuvem CNCF × Alibaba.

Procedimento

Para usar o ACS pela primeira vez, ative o serviço, conceda permissões, crie um cluster e implante o aplicativo.

image

Etapa 1: Ativar e autorizar o ACS

Antes de usar o ACS pela primeira vez, ative o serviço e conceda as permissões necessárias para acessar outros recursos da nuvem.

  1. Faça login no console do ACS e clique em Activate.

  2. Na página de ativação do ACS, siga as instruções na tela para ativar o serviço.

  3. Retorne ao console do ACS, atualize a página e clique em Go to Authorize.

  4. Na página de autorização do ACS, siga as instruções na tela para conceder as permissões necessárias.

    Após conceder as permissões, atualize o console para começar a usar o ACS.

Etapa 2: Criar um cluster ACS

Esta seção demonstra como criar um cluster ACS configurando apenas seus parâmetros principais.

  1. Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique em Create Kubernetes Cluster no canto superior esquerdo.

  3. Na página Create Kubernetes Cluster, configure os seguintes parâmetros. Use os valores padrão para quaisquer parâmetros não listados aqui.

    Parâmetro

    Descrição

    Exemplo

    Cluster Name

    Insira um nome para o cluster.

    ACS-Demo

    Region

    Selecione a região onde deseja criar o cluster.

    China (Beijing)

    Select VPC

    Defina a rede do cluster. Clusters ACS suportam apenas VPCs. Escolha Create VPC ou Select Existing VPC .

    • Create VPC: O sistema cria automaticamente uma VPC, um gateway NAT e configura regras SNAT.

    • Select Existing VPC : Selecione uma VPC e um vSwitch existentes. Caso precise acessar a internet, por exemplo, para baixar imagens de contêiner, configure um gateway NAT. Recomendamos enviar imagens de contêiner para o ACR na mesma região do cluster e baixá-las pela rede interna da VPC.

    Para mais informações, consulte Criar e gerenciar uma VPC.

    Selecione Create VPC.

    API Server Access Settings

    Especifique se deseja expor o servidor de API do cluster à internet pública. Se precisar gerenciar o cluster remotamente pela internet, configure um Elastic IP (EIP).

    Selecione Expose API server with EIP.

    Service Discovery

    Clique em Show Advanced Options e especifique se deseja ativar a descoberta de serviços para o cluster. Se precisar desse recurso, selecione CoreDNS.

    Selecione CoreDNS.

  4. Clique em Confirm, revise e aceite os termos de serviço e, em seguida, clique em Create Kubernetes Cluster.

    Nota

    A criação do cluster leva cerca de 10 minutos. Após a criação, o cluster aparece na página Clusters.

Etapa 3: Implantar o RWKV-Runner pelo console

Implante o aplicativo stateless RWKV-Runner (Deployment) em uma instância de uso geral no seu cluster ACS e exponha sua API RESTful dentro do cluster. Criar uma carga de trabalho stateless Deployment.

  1. Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).

  2. No painel de navegação à esquerda, escolha Workloads > Deployments.

  3. Na página Deployments, clique em Create from Image.

  4. Na etapa Basic Information, defina o Application Name como rwkv-runner, selecione General-purpose para Instance Type e default para QoS Type, e então clique em Next.

  5. Na etapa Container, configure o contêiner e clique em Next.

    Parâmetro

    Descrição

    Valor de exemplo

    Image Name

    Endereço da imagem sem tag ou clique em Select Image para selecionar uma imagem.

    registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-runner

    Image Version

    Clique em Select Image Version para selecionar uma versão da imagem.

    1.0.0

    CPU

    Número de núcleos de CPU para o aplicativo.

    1 Core

    Memory

    Quantidade de memória para o aplicativo.

    2 GiB

    Port

    Portas do contêiner.

    • Name: runner

    • Container Port: 8000

    • Protocol: TCP

  6. Na etapa Advanced, clique em Create à direita de Services.

  7. Na caixa de diálogo Create Service, configure os seguintes parâmetros e clique em Create. Essa ação expõe a API RESTful do rwkv-runner dentro do cluster.

    Parâmetro

    Descrição

    Valor de exemplo

    Name

    Nome do serviço.

    rwkv-runner-svc

    Type

    Tipo de serviço. Determina como o serviço é acessado.

    ClusterIP

    Port Mapping

    Defina a Service Port e a Container Port. A Container Port deve corresponder à porta exposta pelo pod de backend.

    • Name: runner

    • Service Port: 80

    • Container Port: 8000

    • Protocol: TCP

  8. Na etapa Advanced, clique em Create no canto inferior direito.

    Após a criação, a etapa Complete mostra os objetos do aplicativo. Clique em View Details para revisar o aplicativo.

Etapa 4: Implantar o ChatGPT-Next-Web com um certificado

Use o certificado do seu cluster (kubeconfig) para implantar o aplicativo stateless ChatGPT-Next-Web (Deployment) e expô-lo à internet. Criar uma carga de trabalho stateless Deployment.

  1. Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).

  2. Na página Cluster Information, clique na aba Connection Information. Obtenha o certificado de acesso público e siga as instruções na tela para salvá-lo no local correto.

  3. Crie um arquivo chamado chat-next-web.yaml e adicione o seguinte conteúdo.

    Visualizar conteúdo de chat-next-web.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: chat-frontend-svc
    spec:
      ports:
        - name: chat
          port: 80
          protocol: TCP
          targetPort: 3000
      selector:
        app: chat-frontend
      type: LoadBalancer
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: chat-frontend
      name: chat-frontend
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: chat-frontend
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          labels:
            alibabacloud.com/compute-class: general-purpose  # Specifies the general-purpose instance type.
            # To use the performance-enhanced type, use: alibabacloud.com/compute-class: performance
            app: chat-frontend
        spec:
          containers:
            - env:
                - name: BASE_URL
                  value: 'http://rwkv-runner-svc'
              image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/chatgpt-next-web:amd64
              imagePullPolicy: IfNotPresent
              name: chat-frontend
              ports:
                - containerPort: 3000
                  protocol: TCP
              resources:
                requests:
                  cpu: "1"
                  memory: 2Gi
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
  4. Execute o comando a seguir para aplicar os recursos ao seu cluster ACS.

    kubectl apply -f chat-next-web.yaml

Etapa 5: Criar um job de inicialização

Use o certificado do seu cluster para criar um job do Kubernetes que inicializa o modelo RWKV-Runner. Esse job é executado em uma instância de classe QoS BestEffort. Criar uma carga de trabalho job.

  1. Crie um arquivo chamado rwkv-init-job.yaml e adicione o seguinte conteúdo.

    Visualizar conteúdo de rwkv-init-job.yaml

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: job-demo
    spec:
      activeDeadlineSeconds: 600
      backoffLimit: 6
      completionMode: NonIndexed
      completions: 1
      parallelism: 1
      suspend: false
      template:
        metadata:
          labels:
            alibabacloud.com/compute-qos: best-effort # Specifies the BestEffort QoS class.
            # To use the default QoS class, use: alibabacloud.com/compute-qos: default
            app: job-demo
        spec:
          containers:
          - name: job
            image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-init-job:1.0.0
            imagePullPolicy: Always
            resources:
              requests:
                cpu: 500m
                memory: 1Gi
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
    
  2. Execute o comando a seguir para enviar o job de inicialização.

    kubectl apply -f rwkv-init-job.yaml
  3. Confirme se o job de inicialização foi concluído.

    kubectl get pod

    O STATUS do pod do job exibe Completed.

Etapa 6: Testar o aplicativo

Acesse o aplicativo implantado por meio de seu serviço.

  1. Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).

  2. No painel de navegação à esquerda, escolha Network > Services.

  3. Na página Services, localize o serviço recém-criado (chat-frontend-svc) e clique no endereço IP na coluna External IP para acessar seu aplicativo de chat de IA generativa.

Limpar recursos

As taxas do cluster ACS possuem dois componentes:

  • Poder de computação usado pelas cargas de trabalho, cobrado pelo ACS.

  • Outros recursos da Alibaba Cloud, cobrados pelos respectivos serviços.

Após concluir este tutorial: