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.
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.
Faça login no console do ACS e clique em Activate.
Na página de ativação do ACS, siga as instruções na tela para ativar o serviço.
Retorne ao console do ACS, atualize a página e clique em Go to Authorize.
-
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.
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em Create Kubernetes Cluster no canto superior esquerdo.
-
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-DemoRegion
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.
-
-
Clique em Confirm, revise e aceite os termos de serviço e, em seguida, clique em Create Kubernetes Cluster.
NotaA 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.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).
No painel de navegação à esquerda, escolha .
Na página Deployments, clique em Create from Image.
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.
-
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
-
Na etapa Advanced, clique em Create à direita de Services.
-
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
-
-
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.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).
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.
-
Crie um arquivo chamado chat-next-web.yaml e adicione o seguinte conteúdo.
-
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.
-
Crie um arquivo chamado rwkv-init-job.yaml e adicione o seguinte conteúdo.
-
Execute o comando a seguir para enviar o job de inicialização.
kubectl apply -f rwkv-init-job.yaml -
Confirme se o job de inicialização foi concluído.
kubectl get podO
STATUSdo pod do job exibeCompleted.
Etapa 6: Testar o aplicativo
Acesse o aplicativo implantado por meio de seu serviço.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster de destino (ACS-Demo).
No painel de navegação à esquerda, escolha Network > Services.
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:
Se não precisar mais do cluster, exclua-o junto com seus recursos associados. Excluir um cluster.
Para continuar usando o cluster, mantenha um saldo de conta de pelo menos CNY 100,00. Faturamento de recursos da nuvem.