O Alibaba Cloud Container Compute Service (ACS) oferece recursos de computação elásticos e serverless 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 open source: RWKV-Runner (um modelo de 0,1 bilhão de parâmetros com uma API RESTful para inferência) e ChatGPT-Next-Web (a interface web de chat). Juntos, eles formam uma aplicação de chat de IA com frontend e backend desacoplados, implantada em um cluster ACS como imagens de contêiner.
Aprenda os fundamentos do Kubernetes no Curso Aberto de Cloud Native da Alibaba Cloud e CNCF.
Procedimento
Para usar o ACS pela primeira vez, ative o service, conceda permissões, crie um cluster e implante a aplicação.
Etapa 1: Ativar e autorizar o ACS
Antes de usar o ACS pela primeira vez, ative o service e conceda as permissões necessárias para acessar outros recursos da cloud.
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 service.
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 Create and manage a 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 de descoberta de serviços, 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, ele aparece na página Clusters.
Etapa 3: Implantar o RWKV-Runner pelo console
Implante a aplicação stateless RWKV-Runner (Deployment) em uma instância de uso geral no seu cluster ACS e exponha sua API RESTful dentro do cluster. Create a stateless workload Deployment.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster desejado (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 a aplicação.
1 Core
Memory
Quantidade de memória para a aplicação.
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. Isso expõe a API RESTful do rwkv-runner dentro do cluster.
Parâmetro
Descrição
Valor de exemplo
Name
Nome do service.
rwkv-runner-svc
Type
Tipo de service. Determina como o service é 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 exibe os objetos da aplicação. Clique em View Details para revisar a aplicação.
Etapa 4: Implantar o ChatGPT-Next-Web com um certificado
Use o certificado do seu cluster (kubeconfig) para implantar a aplicação stateless ChatGPT-Next-Web (Deployment) e expô-la à internet. Create a stateless workload Deployment.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster desejado (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. Este job é executado em uma instância de classe QoS BestEffort. Create a job workload.
-
Crie um arquivo chamado rwkv-init-job.yaml e adicione o seguinte conteúdo.
-
Execute o comando a seguir para envie 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 mostraCompleted.
Etapa 6: Testar a aplicação
Acesse a aplicação implantada por meio do service correspondente.
Faça login no console do ACS. Na página Cluster, clique no nome do cluster desejado (ACS-Demo).
No painel de navegação à esquerda, escolha Network > Services.
Na página Services, localize o service recém-criado (chat-frontend-svc) e clique em no endereço IP na coluna External IP para acessar sua aplicação de chat de IA generativa.
Limpar recursos
As taxas do cluster ACS têm dois componentes:
Poder de computação usado pelas cargas de trabalho, cobrado pelo ACS.
Outros recursos da Alibaba Cloud, cobrados pelos respectivos services.
Após concluir este tutorial:
Se não precisar mais do cluster, exclua-o junto com seus recursos associados. Delete a cluster.
Para continuar usando o cluster, mantenha um saldo na conta de pelo menos CNY 100,00. Cloud resource billing.