Compute
O Compute é o produto de máquinas virtuais da NNumbers: instâncias, tipos (combinações de vCPU e memória), imagens e chaves públicas, numa das zonas da plataforma.
Visão geral
Cada pedido vai para uma zona (z1 ou z2), escolhida na tela. A zona é um código NNumbers: a
região da nuvem onde ela roda é assunto da plataforma, nunca do seu pedido. As zonas de
disponibilidade públicas aparecem como z1-a e z2-a.
O módulo é um relé: ele não fala com a nuvem, não guarda credencial e não guarda estado de recurso. Ele confere a sua decisão (o contexto que o gateway emitiu), repassa o pedido à plataforma de nuvem — que executa em nome da sua organização — e devolve a resposta. Por isso:
- toda escrita exige
Idempotency-Key(ocreate; as demais mutações a aceitam): repetir o mesmo pedido com a mesma chave devolve a MESMA resposta, sem criar duas máquinas; - o relé nunca repete sozinho um pedido: um erro passageiro volta como
503 dependency_unavailablee você decide tentar de novo; - as suas tags (
{chave: valor}) são o que liga o recurso à sua organização e ao seu centro de custo.
Exemplo
curl -s https://api-nn.nnumbers.com.br/v1/compute/zones \
-H "Authorization: Bearer $TOKEN"
{"zones": [
{"id": "z1", "display_name": "Zona 1", "status": "available",
"capabilities": {"hostname": false},
"operations_unavailable": [],
"tag_limits": {"max_tags": 20, "key_max": 64, "value_max": 128}},
{"id": "z2", "display_name": "Zona 2", "status": "available",
"capabilities": {"hostname": true},
"operations_unavailable": [],
"tag_limits": {"max_tags": 20, "key_max": 64, "value_max": 128}}]}
O que a zona decide
A tela consulta as capacidades da zona e esconde o que ela não suporta — nunca mostra uma ação que não funciona ali. Hoje:
| Recurso | Zona 1 | Zona 2 |
|---|---|---|
hostname na criação da instância | não | sim |
| console remoto | VNC | VNC |
Um campo que só existe numa zona é recusado na outra (nunca descartado em silêncio):
{"error": {"code": "validation_failed", "reason": "field_not_supported_in_zone",
"message": "O campo hostname não existe nesta zona.",
"details": {"field": "hostname", "zone": "z1"}}}
Recursos que não são seus
Uma máquina que não tem a tag de sistema da sua organização (nn:org) aparece na lista como
«Não gerenciada pela NNumbers»: você pode vê-la e abrir o detalhe, mas as ações ficam
indisponíveis.
As máquinas de cluster Kubernetes não aparecem nem podem ser operadas por este produto: a regra
é do serviço (instância cuja imagem tem -kube- no nome responde 404 not_found em qualquer ação,
e criar com uma dessas imagens devolve 400 validation_failed/image_not_allowed). A tela mostra o
erro no campo da imagem; ela não é a defesa.
Was this page helpful?
Report a problem on this pageDo not send passwords, keys, tokens, or customer data.