Skip to content

Visão geral

Um cluster é a infraestrutura onde os apps, bancos e volumes de um ambiente rodam. Há dois tipos: o cluster GoShip, a infraestrutura compartilhada que o GoShip opera, e os clusters seus, em hardware que é seu. O GoShip roda a plataforma nos dois; muda de quem é a máquina e como ela é cobrada.

Um cluster é da organização. Qualquer ambiente de qualquer projeto da organização pode rodar nele, e o mesmo cluster pode servir vários ambientes ao mesmo tempo.

Cluster GoShip e cluster seu

Cluster GoShipCluster seu
A máquinado GoShip, compartilhadasua
Quem cobra a máquinao GoShip, dentro do plano de cada app e bancoo seu provedor, direto de você
Cobrança do GoShippor plano, em cada app e bancopor cluster, pela capacidade medida (Kubernetes conectado: beta, sem cobrança); os apps não têm cobrança extra
Sandboxobrigatóriopadrão, mas opcional, nas máquinas que o GoShip monta; não existe em Kubernetes conectado (Sandbox)
Volumesnão temtem, nas máquinas que o GoShip instala (Volumes)
Apps privadossimsim, exceto em Kubernetes conectado (Apps privados)

Três jeitos de ter um cluster seu

  • Criar na sua nuvem. Você conecta uma conta de nuvem (DigitalOcean, Hetzner Cloud, Latitude.sh, AWS ou Google Cloud) uma vez, escolhe região e tamanho, e o GoShip cria a máquina, instala o k3s nela e registra o cluster. Veja Criar na sua nuvem.
  • Conectar um servidor. Você já tem a máquina, um VPS Linux de qualquer provedor. O GoShip entra por SSH, instala o k3s e registra o cluster. Veja Conectar um servidor.
  • Conectar um Kubernetes. Você já roda um cluster Kubernetes e entrega o kubeconfig dele. Veja Conectar Kubernetes.
goship cluster create meu-cluster --cloud minha-conta --region nyc3 --size s-2vcpu-4gb
goship cluster create meu-servidor --host 203.0.113.10 --ssh-key ~/.ssh/id_ed25519
goship cluster create meu-k8s --kubeconfig ~/.kube/config
goship clusters                      # os clusters que a organização pode usar

As duas primeiras formas dão uma máquina que o GoShip monta e conhece por inteiro. A terceira conecta um cluster que já existia, que o GoShip não montou: por isso ela tem algumas limitações, apontadas nas páginas.

Como um ambiente usa um cluster

Onde os apps rodam é decidido pelo ambiente, nunca por app. Um dono ou administrador da organização aponta o ambiente para um cluster ao criá-lo, pela CLI ou pelo painel (Environments):

goship environment create qa --cluster meu-cluster
goship cluster create meu-cluster --cloud minha-conta --region nyc3 --size s-2vcpu-4gb --environment development

A segunda forma aponta um ambiente que já existe ao criar o cluster; ele passa a rodar nele assim que o cluster ficar active. Não existe escolher o cluster na hora de criar o app: o app roda no cluster do ambiente em que você está. Os detalhes, inclusive como trocar o cluster de um ambiente que já existe, estão em Ambientes.

Apps, bancos e volumes que já existem nunca mudam de cluster. Se você aponta para outro cluster um ambiente que já tem recursos, eles ficam onde estão e o projeto fica fixado no cluster antigo; para mudar, crie o recurso de novo no destino.

Um espaço por projeto

Num cluster seu, cada projeto ganha um namespace próprio por ambiente: os apps, bancos e volumes de um projeto ficam separados dos de outro projeto da organização que use o mesmo cluster. O espaço só é criado quando o projeto cria o primeiro app, banco ou volume no ambiente.

  • Clusters que o GoShip monta (criados na sua nuvem ou conectados por SSH): além do namespace, há isolamento de rede entre os projetos.
  • Kubernetes conectado: só o namespace. O GoShip não aplica isolamento de rede entre os projetos; a rede entre namespaces é a que o seu cluster já tem.

Clusters criados antes dos ambientes continuam como eram, sem namespace por projeto.

Se você já tinha um servidor conectado

O servidor aparece em Clusters com o nome que tinha. Os apps que rodavam nele continuam lá, sem mudar nada: mesmos nomes, mesmos endereços. No ambiente em que estão, o projeto aparece fixado a esse cluster em Project settings. Nada se move sozinho: o GoShip nunca muda um recurso de cluster (Fixar um projeto em outro cluster).

Quando faz sentido

  • Cresceu além do cluster GoShip: precisa de mais do que ele oferece
  • Compliance e soberania de dados: os dados precisam ficar em hardware específico, ou numa região onde o GoShip não opera
  • Regulação setorial: fintech, healthtech, dados sensíveis
  • Workloads especiais: GPU, eBPF, módulos de kernel, o que o sandbox compartilhado bloqueia
  • Custo previsível em escala: quando o preço por recurso do cluster GoShip passa a custar mais que o seu hardware
  • Ambientes separados: desenvolvimento e homologação numa máquina barata sua e produção no cluster GoShip, ou o contrário

Quem gerencia

O dono e os administradores da organização criam, redimensionam e removem clusters, e apontam os ambientes para eles. Os desenvolvedores publicam nos ambientes que já existem, em qualquer cluster. Veja Organizações e projetos.

Remover um cluster

goship cluster rm meu-cluster
goship cluster rm meu-cluster --destroy-server   # cluster criado na nuvem: destrói a máquina também

O GoShip recusa remover um cluster enquanto algum ambiente aponta para ele ou algum projeto ainda roda algo nele. Remover desconecta o cluster do GoShip. Num cluster criado na sua nuvem, a máquina continua rodando, e o provedor continua cobrando você, a menos que você use --destroy-server (ou marque a opção no painel).

Cobrança

  • Por cluster: os clusters que o GoShip cria, na sua nuvem ou por SSH, custam de R$ 59,90 a R$ 239,00 por mês, conforme a capacidade medida
  • Kubernetes conectado: em beta, não é cobrado enquanto o GoShip não mede a capacidade dele
  • Sem assinatura de base: criou o cluster, começa a cobrar; removeu, para
  • Apps e volumes nos seus clusters: não geram cobrança extra, porque você já paga o hardware
  • Bancos: seguem o servidor onde ficam, não o cluster; num servidor de banco seu o GoShip não cobra, e no PostgreSQL do GoShip vale o plano do banco

Detalhes em Clusters → Cobrança.

Próximos passos