12.11.2025

KAITO - operador Kubernetes para automatizar cargas de trabalho de IA e ML: serviços de inferência, ajuste fino e RAG

KAITO (Kubernetes AI Toolchain Operator) é um operador open source que automatiza a execução e o gerenciamento de tarefas de inferência (inference) e ajuste fino (fine-tuning) de modelos AI/ML em um cluster Kubernetes.
O projeto foi criado para que os desenvolvedores possam usar o Kubernetes não apenas para microsserviços, mas também para trabalhar com grandes modelos de linguagem (LLM), IA generativa e pipelines de ML — sem a necessidade de configurar manualmente a infraestrutura de GPU, manifestos e dependências.

KAITO foi aceito pela Cloud Native Computing Foundation (CNCF) como um projeto sandbox, o que confirma seu crescimento e abertura à comunidade.
A ideia principal é descrever a carga de trabalho de IA de forma declarativa, usando CRD (Custom Resource Definition), e o operador cria automaticamente os nós, contêineres, serviços e APIs necessários. Aplicação: KAITO é adequado para implantar modelos LLM (como Llama 3, Phi-3, Mistral, Gemma), APIs de inferência, sistemas RAG e ajuste fino de modelos em clusters Kubernetes corporativos ou privados, incluindo nós com GPU.

Links úteis

Arquitetura e componentes principais

KAITO é construído com base no Kubernetes Operator Pattern e usa controladores que monitoram o estado de recursos personalizados e criam automaticamente a infraestrutura necessária para a carga de IA.

Componentes principais:

Componente Função
KAITO Controller Gerencia os recursos do usuário, cria nós e implanta workloads.
CRD (Custom Resource Definitions) Tipos principais de recursos: Workspace, RAGEngine, Preset, InferenceService.
Presets Perfis de modelos pré-configurados (por exemplo, Phi-3, Llama-3, Mistral) com parâmetros de GPU, contêineres e API.
Provisioner Integration Integração com Karpenter ou outros provisionadores de GPU para alocação automática de nós.
API compatível com OpenAI Permite acessar modelos implantados por meio da interface padrão OpenAI /v1/chat/completions.
RAG Engine (a partir da v0.5) Suporte para Retrieval-Augmented Generation com FAISS e LlamaIndex.

Arquitetonicamente, o KAITO funciona assim:

  1. Você cria um manifesto YAML (por exemplo, Workspace) especificando o modelo, recursos e configuração.
  2. O controlador cria os nós GPU (via NodeClaim ou Provisioner), seleciona o contêiner e implanta o serviço.
  3. O Kubernetes cria um Service com API acessível para inferência.

Recursos e benefícios

  1. Gerenciamento declarativo de cargas de IA
    Tudo é descrito em manifestos YAML — não há necessidade de escrever arquivos de deployment manualmente ou configurar GPUs.
  2. Suporte para modelos LLM e serviços de inferência
    Presets integrados para modelos populares, suporte à API OpenAI e ajuste automático de parâmetros para o pool de GPU.
  3. Gerenciamento automático de nós GPU
    KAITO integra-se a provisionadores (como o Karpenter) para alocar e liberar GPUs automaticamente.
  4. Recursos de Fine-tuning e RAG
    O operador RAGEngine permite criar serviços RAG com FAISS e serviços de embeddings diretamente no cluster.
  5. API compatível com OpenAI
    Facilita a migração de aplicativos que já usam a API OpenAI para modelos hospedados localmente.
  6. Extensibilidade
    Permite adicionar contêineres personalizados, novos modelos e integrar o KAITO em pipelines CI/CD com GitOps.

Início rápido

Abaixo está um exemplo de manifesto YAML para implantar um serviço de inferência com o modelo Phi-3.5-Mini-Instruct.

apiVersion: kaito.sh/v1beta1
kind: Workspace
metadata:
name: workspace-phi-3.5-mini
spec:
resource:
instanceType: "Standard_NC24ads_A100_v4"
labelSelector:
matchLabels:
app: phi-3.5
inference:
preset:
name: phi-3.5-mini-instruct

Etapas de implantação

# Instalar o operador KAITO
kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/main/deploy/kaito-operator.yaml

# Aplicar o arquivo YAML

kubectl apply -f workspace-phi-3.5-mini.yaml

# Verificar o status

kubectl get workspace workspace-phi-3.5-mini

# Obter o Service e fazer uma solicitação

kubectl get svc workspace-phi-3.5-mini

Exemplo de chamada à API:

curl -X POST http:///v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "phi-3.5-mini-instruct",
"messages": [{"role": "user", "content": "O que é Kubernetes?"}],
"max_tokens": 50
}'

Configuração de nodeSelector, taints e imagens personalizadas

KAITO permite controlar com flexibilidade onde e como as workloads serão implantadas:

spec:
resource:
labelSelector:
matchLabels:
gpu-type: nvidia
nodeSelector:
disktype: ssd
tolerations:

* key: "nvidia.com/gpu"
operator: "Exists"
effect: "NoSchedule"
inference:
preset:
name: llama3-8b
image: custom.registry.io/llama3:latest

Limitações e melhores práticas

Limitações:

Recomendações:

Cenários reais de uso

1. Inferência de modelos

Implantação de modelos LLM em clusters próprios com API compatível com OpenAI para aplicativos internos.

2. Chatbots e NPCs em jogos

Integração de modelos em servidores de jogos: NPCs reagem às ações do jogador por meio de serviços locais de inferência (sem enviar dados a APIs externas).

3. Sistemas RAG

Combinação de KAITO + FAISS para Retrieval-Augmented Generation — por exemplo, gerar respostas baseadas em documentação interna ou dados do jogo.

4. Fine-tuning de modelos

Ajuste fino de modelos pré-treinados (como Mistral ou Phi-3) com datasets próprios para tarefas específicas.

Conclusão

KAITO torna o trabalho com cargas AI/ML no Kubernetes simples e declarativo.
Ele é ideal tanto para engenheiros que constroem infraestrutura de IA em nuvem ou on-premises quanto para equipes que desejam integrar modelos em projetos de jogos sem depender de APIs externas.

O projeto está em rápido desenvolvimento e já pode fazer parte do seu stack de IA no Kubernetes.