Nutanix Enterprise AI no NKPParte 1: arquitetura, licenças e dimensionamento

Publicado
Leitura
12 min
Atualizado em

Testado emNKP 2.19Nutanix Enterprise AI 2.8.1Prism Central 7.6AOS 7.6Lab em Em outra versão, confira a matriz de compatibilidade e as release notes antes de aplicar.

Read in English

Capa da série Nutanix Enterprise AI no NKP, com a parte 1, Arquitetura, em destaque

Resumo: o Nutanix Enterprise AI (NAI) transforma um cluster Kubernetes numa plataforma de inferência com API compatível com a OpenAI, chaves por aplicação, catálogo de modelos e auditoria. Antes de instalar, li o User Guide 2.8.1 e os dois Nutanix Validated Designs que tratam dele. Cinco pontos definiram o meu plano: a licença é separada do NKP, com trial de 2 dias (a chave entra no dia da instalação); o guia cita a NKP 2.18, e o catálogo da 2.19 já traz o NAI 2.8.1; o plano de controle pede 30 vCPU e 60 GB além da inferência; os NVDs põem o NAI num cluster dedicado; e sem GPU, o lab roda a inferência em CPU sem AMX. Esta é a parte 1 de 4.

A série

ParteTema
1NAI: arquitetura, licenças e dimensionamento (este post)
2Nutanix Files para o Kubernetes: o RWX que o NAI exige
3Do catálogo ao primeiro token: cluster dedicado, NAI 2.8.1 e licença
4CPU, GPU e MCP: o NAI numa arquitetura híbrida

O lab: um cluster HCI Nutanix de 3 hosts, Prism Central e AOS 7.6, NKP 2.19 com um cluster de management e um de serviços. Nenhuma GPU nos hosts. Esta parte é a leitura e o planejamento; não tem nada instalado ainda. É a parte que eu gostaria de ter lido antes de abrir um projeto de NAI num cliente.


O que é o Nutanix Enterprise AI

O NAI é uma plataforma da Nutanix para servir modelos de IA dentro do Kubernetes, com governança. Na prática, ele entrega:

RecursoO que é
Endpoints locaisUm modelo do Hugging Face ou um NIM da NVIDIA publicado como API compatível com a OpenAI, rodando em GPU ou CPU
Catálogo de modelos validadosModelos testados pela Nutanix, com CPU, memória e parâmetros do vLLM preenchidos automaticamente
Chaves de APIUma chave por aplicação, com ativação, desativação e auditoria
Unified EndpointsUm endpoint único que distribui entre modelos locais e provedores externos (OpenAI, Anthropic, Bedrock, Azure OpenAI, Vertex, Gemini, Mistral, Cohere ou outro NAI), com limite de taxa
MCP ServersServidores MCP locais ou remotos para agentes, com credenciais e chaves de cliente
NAI LabsAplicações de exemplo: Chat, Talk to My Data e um agente
GovernançaIAM com LDAP, SAML e políticas, eventos de auditoria, security scan de modelos, métricas de uso

A versão atual é a 2.8.1, e ela já aparece no catálogo do NKP 2.19, na aba AI Applications:

Aba AI Applications do catálogo do NKP 2.19: 18 aplicações de IA em seis categorias

Categoria Inferencing and Serving: NAI Envoy Gateway 1.8.2, KServe 0.19.0, LeaderWorkerSet 0.8.0, Nutanix Enterprise AI 2.8.1 e Traefik API Management, todos desabilitados

Como as peças se encaixam

CamadaComponentesO que faz
EntradaEnvoy Gateway (com Gateway API)Recebe as chamadas HTTPS, valida a chave, aplica limites
Plano de controlenai-api, UI, IAM, PostgreSQL, ClickHouse, Valkey, OpenTelemetryCatálogo, chaves, usuários, métricas e auditoria
InferênciaKServe, LeaderWorkerSet, vLLM ou NIMSobe cada modelo como um serviço, em uma ou várias réplicas
DadosVolume RWX (Files) e volumes RWOPesos dos modelos e dados da plataforma

Licenciamento: separado do NKP, com trial de 2 dias

As edições

EdiçãoO que inclui
NAI Standalone (Pro)Só o NAI, em qualquer Kubernetes CNCF: NKP, EKS, AKS, GKE
NAI-NKP (Pro ou Ultimate)NAI + NKP no mesmo pacote
NAI Full-Stack / GPT-in-a-Box (Pro ou Ultimate)NAI + NCI + NKP + Unified Storage (+ NDK e NDB)

O NAI tem licença própria

O NAI é licenciado à parte do NKP Ultimate, ou vem num pacote NAI-NKP ou Full-Stack.

A métrica

O NAI tem três licenças, e você aplica a que corresponde ao seu uso:

LicençaMétricaQuando usar
CPUvCPUs usados pelos endpoints de inferênciaCluster sem GPU (o caso do lab)
GPUGB de memória de GPU, somando todas as GPUsCluster com GPU
Agent GatewayChaves de acesso ativas em Unified Endpoints e MCPSó o gateway, sem inferência local

Um detalhe que facilita a vida: a licença CPU conta o que os endpoints usam, não o tamanho dos nós. O plano de controle do NAI não entra na conta.

O relógio

RegraO que diz o User Guide 2.8.1
Trial2 dias depois da instalação
Licença POC30 dias (pedido à Nutanix)
Depois de vencer30 dias de carência; depois, os endpoints hibernam
Quando aplicar CPU ou GPUSó na primeira instalação, não num upgrade
TrocaCPU → GPU sem pré-requisito; para Agent Gateway, hibernar os endpoints antes

Faça antes: gere a chave no mesmo dia

Com 2 dias de trial, a chave tem que estar pronta logo depois da instalação. O caminho: portal de suporte → Licenses → Manage Licenses → Manage NAI/NKP License → NAI → informar o nome ou o ID do cluster → Apply to Cluster → quantidade de vCPU ou GB → Generate license keys. Depois, no NAI: Settings → Licensing → Add License.

No lab, o licenciamento está assim:

Licenças do cluster do lab: NCI Ultimate, NCI Security, NCM Ultimate e NUS Pro

LicençaSituação no lab
NKP Ultimate400 vCPU aplicados
NAI Pro600 disponíveis, ainda não aplicada (entra na Parte 3)
NUS Pro50 TiB + 1 TiB incluído no NCI Ultimate (usada na Parte 2)
NDKIncluído no NKP Ultimate, sem limite
Flow Network SecurityIncluído no NCI Ultimate (aparece como NCI Security)

O que o User Guide 2.8.1 exige

Plataforma

RequisitoO que diz o guiaNo lab
KubernetesVersão 1.351.36.2
NKP“Você pode instalar o NAI 2.8.1 só na NKP 2.18”NKP 2.19
Imagem dos nósUbuntuRocky Linux 9.8
Outras plataformasEKS, AKS e GKE; air-gapped só no NKP—
ArquiteturaSó x86x86 (os hosts Nutanix)
GPUNVIDIA, com GPU Operator e taint nvidia.com/gpu:NoScheduleNenhuma

NKP 2.18 ou 2.19?

O User Guide é de 16/10/2026, quatro dias antes do lançamento da NKP 2.19, e cita só a 2.18. Ao mesmo tempo, o próprio catálogo da 2.19 entrega o NAI 2.8.1 com o selo Nutanix Supported. Na 2.19, o caminho é o app do catálogo, e não o Helm manual do guia: a própria anotação do app declara a compatibilidade, nkp-version-support: >=2.18 <2.20 (detalhes na Parte 3). Num cliente, confira a matriz de compatibilidade da versão antes de assinar o escopo.

A arquitetura x86 tem uma consequência no lab: o servidor com GPU NVIDIA GB10 que temos é ARM, e não pode ser nó do NAI. Ele entra na Parte 4 por outro caminho.

Rede, DNS e certificado

RequisitoDetalhe
LoadBalancerIP externo para o Envoy (no NKP, MetalLB)
FQDNUm nome DNS que resolva para esse IP
CertificadoAssinado por CA; o NAI só aceita HTTPS. Para teste, existe a opção de certificado autoassinado via cert-manager

Storage

ItemMínimoPara quê
Block (RWO)150 GiBPostgreSQL (40), ClickHouse (50 + 10), NAI Labs (20), nai-api (20), Valkey (8), auditoria (1)
NFS (RWX)2 TiB, storage class com ImmediateModelos
Export NFSv4Um shareImportar modelos custom
S31 TiB (opcional)Outra forma de importar modelos

O NKP vem só com storage RWO. O RWX é o assunto inteiro da Parte 2.

Dependências

O guia instala por Helm; o catálogo do NKP 2.19 já traz quase tudo:

ComponenteVersão no guiaNo catálogo do NKP 2.19
Envoy Gateway + Gateway API1.8.1NAI Envoy Gateway 1.8.2
KServe0.19.0 (modo RawDeployment)0.19.0
LeaderWorkerSet0.8.00.8.0
OpenTelemetry Operator0.114.10.114.1 (categoria Observability)
CloudNativePGapp do NKPapp do NKP
Prometheus Monitoringapp do NKP, instalação mínimajá existe
cert-managervem com o NKPjá existe
NVIDIA GPU Operatorsó com GPUnão se aplica

Também é preciso um token de acesso do Docker Hub gerado no portal da Nutanix, para baixar as imagens do NAI.


Dimensionamento: o plano de controle vem primeiro

O mínimo do guia

O guia assume um cluster dedicado ao NAI e conta só o plano de controle; a inferência é somada à parte.

NósQtdevCPUMemóriaDisco
Control plane do Kubernetes3416 GB150 GB
Workers do NAI31020 GB150 GB
Total642108 GB—

Os componentes que mais pesam:

ComponentevCPUMemória
nai-api5,17,1 GiB
Envoy (gateway de entrada)5,110,3 GiB
ClickHouse (observabilidade)48 GiB
OpenTelemetry Collector42 GiB
UI22 GiB
PostgreSQL22 GiB

Perfis

PerfilCapacidadeWorkers
Default300 requisições simultâneas, 100 chaves3 × 10 vCPU / 20 GB
c1k_k2001.000 requisições, 200 chaves3 × 60 vCPU / 90 GB
c5k_k1k5.000 requisições, 1.000 chaves3 × 90 vCPU / 150 GB

A inferência, por cima

Referência do guia para um endpoint de 1 GPU:

MotorCPUMemória
NVIDIA NIM12 cores32 GiB
vLLM8 cores16 GiB (1 GPU) a 128 GiB (8 GPUs)

E sem GPU?

O NAI aceita endpoints em CPU: na criação do endpoint, Acceleration Type → CPU, que aparece para os modelos que suportam execução em CPU. Com Xeon de 4ª geração ou mais novo, existe a opção Optimise endpoint to run on Intel AMX, que usa a aceleração de matrizes do processador.

O host do lab:

Detalhes do host do lab: 2 × Intel Xeon Silver 4210 a 2,2 GHz, 20 cores, 376 GiB, storage híbrido com 2 HDD e 1 SSD, AHV 11.2.0.4

ItemValorImpacto
CPU2 × Xeon Silver 4210 (Cascade Lake, 2ª geração), 2,2 GHz, 20 cores por hostSem AMX; tem AVX-512 e VNNI. Inferência em CPU funciona, com desempenho de lab
Memória376 GiB por host, 3 hostsO limite real do lab
StorageHíbrido: 2 HDD + 1 SSD por hostCarga de modelos mais lenta quando o dado cai no HDD

O que o NAI em CPU entrega

Governança, catálogo, chaves, auditoria, embeddings e reranking para RAG, e modelos pequenos de texto. Geração de texto em escala pede GPU, ou pelo menos um Xeon com AMX. O NVD do GPT-in-a-Box cita AMX com OpenVINO dobrando a velocidade dos embeddings: é o argumento para clientes que ainda não têm GPU.

Candidatos do catálogo validado para CPU, pelo tamanho:

ModeloTipoTamanho
ibm-granite/granite-embedding-107m-multilingualEmbeddings, 12 idiomas~2 GiB
cross-encoder/ms-marco-MiniLM-L6-v2Reranker~4 GiB
google/gemma-3-270m-itTexto~10 GiB
meta-llama/Llama-3.2-1B-InstructTexto (gated no Hugging Face)~10 GiB

Quais deles aparecem com a opção CPU, só a interface vai dizer.


O que dizem os Nutanix Validated Designs

Li dois: o NVD-2057 (Nutanix Enterprise AI Design, agosto de 2026) e o NVD-2115 (GPT-in-a-Box com NKP, janeiro de 2026).

Versões validadas × lab

ComponenteNVD-2057NVD-2115Lab
Prism Central / AOS7.5.1.62024.3.0.1 / 7.07.6 / 7.6
NKP2.18.02.142.19
NAI2.72.02.8.1
Files5.2.2.15.15.4.0.1

O lab está à frente de tudo o que foi validado. O próprio NVD-2057 diz que é um exemplo de configuração suportada, não a única.

Os padrões que valem para qualquer cliente

TemaO que o NVD faz
Cluster do NAIDedicado, num workspace próprio. No NVD-2057, um nai-prod e um nai-stage
Plano de controleNós só de CPU, em VM, no cluster de gestão; GPUs em bare metal Ubuntu 24.04
Pool de workers do NAINVD-2115: 12 vCPU / 40 GB / 100 GB
Banco de dadosPostgreSQL externo, via NDB, um por instância de NAI
CertificadosCA privada emitindo pelo cert-manager, validade de 1 ano
Workspacesgateway, prod, stage, qa e dev; NAI Labs só em qa e dev
Alta disponibilidade2 réplicas de nai-api e do Envoy em gateway, prod e stage
ObservabilidadeStack central, ServiceMonitor do vLLM e dashboards do Envoy
BackupVelero para o Nutanix Objects, com replicação

Token as a Service

O NVD-2057 descreve o NAI como uma plataforma de tokens: uma API única compatível com a OpenAI, com cotas de tokens por camada (Free, Standard, Enterprise, Premium), que os times consomem sem ver GPU nenhuma. Na frente de tudo, o Agent Gateway distribui o tráfego entre produção e homologação:

ModeloPapelProdução : homologação
openai/gpt-oss-120b (MoE)Arquiteto: planeja75 : 25
google/gemma-4-26B-A4B-it (MoE)Desenvolvedor: escreve o código75 : 25
google/gemma-4-31B-it (denso)Revisor: confere90 : 10
Embeddings, reranker, Llama GuardApoio ao RAG e segurança50 : 50

O desenho validado: 16 nós com 128 GPUs RTX PRO 6000 Blackwell, para cerca de 1.750 usuários simultâneos. Os modelos pequenos rodam em fatias MIG 1g.24gb (4 por GPU); os grandes, em GPUs inteiras.

KV cache: o que limita os usuários

Cada sessão ativa reserva memória de GPU para o KV cache. O NVD usa estes números:

Perfil de usoContextoKV cache por sessão
Chat e assistente de código8K tokens~0,6 GB
RAG e extração estruturada17K tokens~1,5 GB
Sumarização, pesquisa, agentes106K tokens~8 GB

É a conta que define quantos usuários cabem numa réplica, e é a primeira pergunta para dimensionar GPU num cliente.


A decisão do lab: cluster dedicado

Com o guia e os NVDs na mão, comparei duas opções. O limite é a memória: com 3 hosts de 376 GiB, quero que tudo continue rodando se um host cair (N+1), o que dá cerca de 752 GiB utilizáveis. O lab já usa ~591 GiB, contando o Files da Parte 2.

A: node pool no cluster de serviçosB: cluster dedicado
Formato+3 workers de 12 vCPU / 40 GiB1 control plane 4/16 + 3 workers 12/40, workspace próprio
Memória adicionada120 GiB136 GiB
Total previsto~711 GiB (94,5% do N+1)~727 GiB (96,7% do N+1)
Segue os NVDsNãoSim
Nós UbuntuNão (cluster existente em Rocky)Possível, se a 2.19 oferecer a imagem
IsolamentoDivide o cluster com outros serviçosPode ser apagado sem afetar nada

Escolhi a B. Custa 16 GiB a mais, segue o desenho da Nutanix, isola o experimento e permite usar a imagem Ubuntu que o guia pede. A contrapartida: um control plane só (aceitável em lab) e quase nenhuma margem de memória enquanto o NAI estiver no ar.

Faça a conta antes do Enable

Somando o guia (30 vCPU e 60 GB só para o plano de controle), o Files e um cluster novo, o lab foi de folgado para 96,7% do limite N+1. Num cliente, essa conta vem antes da proposta, não depois da instalação.


O que aprendi

  1. O NAI é uma licença à parte, separada do NKP Ultimate; a métrica é vCPU de inferência (CPU) ou GB de memória de GPU.
  2. O trial é de 2 dias, e a licença CPU ou GPU só entra na primeira instalação. A chave sai do portal no mesmo dia.
  3. O guia 2.8.1 cita a NKP 2.18. Na 2.19, o caminho é o app do catálogo, compatível com >=2.18 <2.20 pela anotação do próprio app.
  4. O plano de controle pede 30 vCPU e 60 GB em 3 workers, antes de qualquer modelo.
  5. O NAI precisa de RWX. A storage class padrão do NKP é RWO; o RWX vem do Nutanix Files (Parte 2).
  6. FQDN e certificado de CA são obrigatórios. Sem DNS interno, isso vira pré-requisito de projeto.
  7. Os NVDs põem o NAI em cluster dedicado, com o plano de controle em VMs e as GPUs em bare metal.
  8. Sem GPU, o NAI serve para governança, embeddings e modelos pequenos. Com AMX, o desempenho em CPU melhora; o hardware do meu lab não tem.

Checklist de pré-venda

  • Edição definida: Standalone, NAI-NKP ou Full-Stack
  • Métrica estimada: vCPU de inferência ou GB de GPU
  • Versão do NKP conferida na anotação nkp-version-support do app do NAI e na matriz de compatibilidade
  • Cluster dedicado dimensionado: plano de controle (30 vCPU / 60 GB) + inferência
  • GPU: modelo, quantidade, MIG ou GPU inteira; ou CPU com AMX
  • KV cache estimado pelo perfil de uso (chat, RAG ou agentes)
  • Storage: RWO 150 GiB, RWX 2 TiB (Files), export para modelos custom, S3 opcional
  • Rede: IP de LoadBalancer, FQDN e certificado de CA
  • Token do Docker Hub e conta no Hugging Face (modelos gated)
  • Chave da licença gerada no mesmo dia da instalação

O que ainda não testei

  • Endpoints em GPU no NAI. Os hosts do lab não têm GPU, e o servidor com GPU GB10 é ARM, enquanto o NAI pede x86; ele entra na Parte 4 por outro caminho. A GPU dentro do próprio NKP é o próximo passo do lab.
  • A opção de endpoint otimizado para Intel AMX. Ela pede Xeon de 4ª geração ou mais novo, e os hosts do lab são Cascade Lake (2ª geração).
  • O cluster do NAI com 3 control planes, como na tabela do guia. No lab, o cluster dedicado tem um control plane só, o que basta para um lab.

Próxima parte

Na Parte 2, o storage RWX: Nutanix Files criado do zero e ligado ao Kubernetes, com o detalhe do CSI em modo Prism Central.

Referências

Nutanix

Independentes

Comentários

Os comentários usam o GitHub Discussions; é preciso ter uma conta no GitHub.