Skip to content

Mais servidores ​

Adicionando um ​

Adicionar servidor no console: informe o nome, o IP e o usuário SSH do servidor, confirme a impressão digital da chave dele e autorize uma chave temporária (ou cole a sua). O Orbit roda as mesmas verificações e o mesmo plano da primeira máquina e, depois da sua aprovação, coloca o servidor no cluster como agente do K3s, com o seu próprio agente do Orbit. Serviços novos podem então ser colocados nele.

Mais servidores trazem espaço, não alta disponibilidade

Um serviço roda no servidor que você escolher e para se esse servidor parar, a menos que seja uma aplicação espalhada entre servidores ou um banco com réplicas de PostgreSQL. O tráfego entra pelo servidor principal, então os domínios continuam apontando para ele.

Requisitos de rede ​

  • Todo servidor precisa alcançar o IPv4 do servidor principal em TCP 6443 (Kubernetes) e 7443 (agentes do Orbit).
  • O servidor principal precisa alcançar todos os outros em TCP 10250 (logs e comandos).
  • Todos os servidores precisam se alcançar em UDP 51820 (WireGuard, que criptografa o tráfego entre eles).
  • O Orbit abre essas portas no servidor principal só para os seus servidores. Quando o ufw está ativo num servidor, o Orbit também libera ali os endereços dos outros. Um servidor que entra depois não é adicionado às regras do ufw dos que entraram antes: rode sudo ufw allow from <ip do novo servidor> neles.

A primeira entrada reinicia o K3s uma vez no servidor principal para ligar o WireGuard. As aplicações em execução continuam rodando.

Builds e atualizações ​

  • Os builds rodam no servidor principal. Uma aplicação de repositório pode rodar num servidor da mesma arquitetura: o Orbit copia a imagem para lá antes de cada deploy.
  • O install.sh atualiza o Orbit e o agente do servidor onde roda. Os agentes dos servidores adicionados ficam na versão em que foram instalados.

Agentes ​

O agente de cada servidor informa a saúde e o inventário dele por TLS mútuo. Um servidor fica offline cerca de 90 segundos depois do último sinal, e o console passa a mostrar os workloads dele como desconhecidos.

sh
sudo orbit revoke-agent --server srv_…   # recusa o agente daquele servidor na hora
sudo orbit enroll-agent --server srv_…   # na mesma máquina: token novo, certificado novo, agente reiniciado

Os ids dos servidores estão no orbit status. Quando um agente se registra, os certificados que o servidor tinha antes são revogados, então só o registro mais novo vale.

Olhando o cluster ​

sh
sudo k3s kubectl get nodes -L orbit.cortexlabs.dev/server
sudo k3s kubectl get pods -A -o wide
journalctl -u k3s-agent -f    # no outro servidor

Orbit by Cortex Labs