Bare metal para contêineres

Kubernetes em bare metal que você mesmo opera

Kubernetes em bare metal significa que cada nó do seu cluster é um servidor dedicado inteiro, sem hypervisor entre seus pods e o hardware. A Primcast aluga esses servidores por mês com acesso root e porta sem medição de tráfego, para você instalar Docker, k3s, RKE2 ou kubeadm e rodar o cluster do seu jeito.

Um servidor que já está no rack é entregue cerca de 30 minutos após a aprovação do seu pedido. Sem contrato: você paga um mês por vez.

01Por que bare metal

Por que seus contêineres rodam melhor em um servidor só deles

Contêineres já compartilham um kernel, então uma máquina virtual por baixo adiciona uma segunda camada que não faz nada por você. Em um servidor dedicado, suas cargas de trabalho recebem o processador, a memória, os discos e a placa de rede diretamente.

ASem camada virtual

Nada entre seus pods e o hardware

Nenhum hypervisor fica com uma parte do processador nem entra no caminho do disco e da rede. O que você mede no nó é o que seus contêineres recebem, o que facilita definir requests e limits.

BUm único locatário

Nenhum vizinho deixando seus nós lentos

Ninguém mais roda nada no seu servidor. Um estranho ocupado não consegue consumir a fila do disco nem a largura de banda de memória com que o pod do seu banco de dados contava, então a latência fica onde você deixou.

CConta fixa

Tráfego que ninguém conta

Cada servidor vem com uma porta sem medição que não é compartilhada, 1 Gbps ou 500 Mbps conforme a linha. Pulls de imagem, replicação entre nós e tráfego para seus usuários nunca aparecem como cobrança por gigabyte.

DControle total

Root, um botão de reinstalação e um caminho de volta

Você recebe root em cada servidor e pode reinstalar o sistema pelo painel de controle sem custo. Servidores em rack e blades também têm console no navegador com controle de energia, para o dia em que uma mudança de rede deixar você trancado do lado de fora.

02Escolha seu caminho

Docker em um servidor dedicado, ou Kubernetes em bare metal?

Comece pelo trabalho. Um punhado de serviços em uma máquina precisa de Docker e nada mais. Várias máquinas que devem se recuperar sozinhas precisam de Kubernetes, e aí a pergunta é quem cuida do plano de controle.

Três formas de rodar contêineres nos servidores da Primcast
CaminhoBom paraPlano de controlePara onde ir
Docker em um servidor dedicadoAlguns apps com Docker Compose, um runner de build, uma cópia de staging da produçãoNenhum necessárioQualquer servidor abaixo
Seu próprio cluster KubernetesEquipes que querem escolher a distribuição, o plugin de rede e as datas de upgradeVocê opera, nos seus próprios servidoresEsta página
Kubernetes gerenciadoEquipes que querem kubectl e seus próprios workers, sem cuidar do etcdNós operamos; seus servidores são os workersKubernetes gerenciado

Só precisa de uma máquina pequena? Um Cloud VPS também roda Docker. Quer máquinas virtuais e contêineres lado a lado no seu próprio hardware? Veja os servidores Proxmox.

03Dimensionamento

O que um nó Kubernetes em bare metal precisa

A documentação do kubeadm define o mínimo: 2 GB de memória em cada máquina e pelo menos 2 núcleos de processador no nó do plano de controle. Qualquer servidor dedicado supera isso com folga, então dimensione para suas cargas de trabalho e planeje três nós de plano de controle se o cluster precisar sobreviver à perda de um.

Mínimos e portas da documentação do Kubernetes
FunçãoMínimoPortas para abrir entre seus nós
Plano de controle2 núcleos, 2 GB de memória6443, 2379-2380, 10250, 10257, 10259
Worker2 GB de memória10250, 10256, 30000-32767
Cada nóUm hostname, endereço MAC e UUID de produto exclusivosAlcance total de rede aos outros nós

Um cluster pequeno que funciona

Um nó de plano de controle e dois workers são suficientes para aprender e rodar staging. Coloque o etcd em servidores com unidades de estado sólido: ele é sensível à latência de gravação em disco, e um disco lento atrasa cada mudança no cluster.

Um cluster que sobrevive a um servidor com falha

Três nós de plano de controle mantêm o etcd em quórum quando um deles cai. Adicione workers para capacidade e coloque servidores GPU no mesmo cluster para trabalhos de inferência ou codificação, mantidos separados dos outros pods com labels e taints.

04Configuração

Seu próprio cluster em uma noite

Esta é a ordem usual de trabalho com o kubeadm. O k3s e o RKE2 condensam as etapas 2 e 3 em um único script de instalação, e o restante permanece igual.

  1. 01

    Peça os servidores

    Escolha os servidores na lista abaixo e selecione uma imagem atual do Ubuntu ou Debian no checkout. Servidores em rack chegam cerca de 30 minutos após a aprovação; um servidor montado conforme sua especificação leva de 4 a 24 horas quando as peças estão em mãos.

  2. 02

    Prepare cada nó

    Instale um runtime de contêiner como containerd, mantenha os relógios sincronizados e desative o swap, a menos que você tenha configurado o kubelet para isso. Depois instale o kubeadm, o kubelet e o kubectl a partir do repositório de pacotes do Kubernetes.

  3. 03

    Inicie o plano de controle

    Execute kubeadm init no primeiro servidor do plano de controle e, em seguida, a linha kubeadm join que ele imprime em cada worker. Seu kubeconfig está nesse primeiro servidor.

  4. 04

    Adicione um plugin de rede

    Os pods não conseguem se comunicar até que um plugin de rede esteja instalado. Cilium, Calico e Flannel são as escolhas habituais; Cilium e Calico também aplicam NetworkPolicy.

  5. 05

    Feche as portas

    Permita as portas da tabela acima apenas a partir dos endereços dos seus próprios nós e mantenha a porta da API aberta somente para as pessoas que administram o cluster.

  6. 06

    Deixe o tráfego entrar

    O bare metal não tem load balancer de nuvem, então uma ferramenta como o MetalLB entrega aos Services do tipo LoadBalancer endereços IPv4 adicionais contratados com seus servidores. Um ingress controller então serve seus sites nas portas 80 e 443.

Só precisa de Docker? Instale o Docker Engine a partir do repositório do próprio Docker para sua distribuição, verifique com docker run hello-world e execute sua stack com Docker Compose. Essa é toda a configuração.

05Servidores

Servidores dedicados para Docker e Kubernetes

Cada servidor abaixo pode ser um host Docker ou um nó em um cluster Kubernetes autogerenciado. Preços e especificações vêm direto do catálogo; abra um para ver suas opções e fazer o pedido.

06Antes de encomendar

O que recebe, e o que continua a ser da sua responsabilidade

Neste percurso, tratamos do hardware e da rede, e você trata de tudo, desde o sistema operativo para cima. É aqui que fica essa linha.

Incluído em todos os servidores

  • A máquina inteira, com acesso root e mais ninguém nela
  • Uma porta não medida que não é partilhada, mais um endereço IPv4 e um endereço IPv6
  • Reinstalações gratuitas do sistema operativo a partir do painel de controlo
  • Uma consola de browser e controlo de energia em servidores rack e blades
  • Créditos ao abrigo do acordo de nível de serviço quando a rede está em baixo ou uma peça avariada não é substituída a tempo

Bom saber

  • Não instalamos, atualizamos nem vigiamos o seu cluster neste percurso. Se quiser isso, veja Kubernetes gerido.
  • Nenhuma proteção DDoS é vendida com qualquer servidor.
  • A maioria dos servidores cartridge tem controlo de energia, mas não tem consola, por isso escolha um servidor rack ou blade para o seu plano de controlo.
  • Os servidores ARM executam Docker e Kubernetes, mas apenas imagens criadas para arm64.

07Perguntas

Perguntas que as pessoas fazem sobre contentores em bare metal

01O Kubernetes é mais rápido em bare metal do que em máquinas virtuais?

Normalmente, sim, porque nada fica entre os seus pods e o hardware. Uma máquina virtual adiciona um hipervisor no caminho do processador, do disco e da rede e muitas vezes partilha o anfitrião com outros clientes. Num servidor dedicado, os seus contentores recebem a máquina inteira, e o desempenho deles não muda quando outra pessoa fica ocupada.

02Posso executar Docker num servidor dedicado?

Sim. Tem root, por isso instala o Docker Engine a partir do repositório da Docker para a sua distribuição e executa os seus contentores ou uma stack Docker Compose de imediato. Muitas pessoas começam assim e adicionam Kubernetes quando têm mais do que um servidor.

03Instalam e gerem o Kubernetes por mim?

Não nos servidores desta página: escolhe a distribuição e gere o cluster você mesmo. Se preferir não tratar do plano de controlo, o nosso Kubernetes gerido executa-o por si em Nova Iorque, enquanto os seus servidores dedicados continuam a ser os workers, com root mantido em cada um.

04De quantos servidores preciso para um cluster Kubernetes?

Um servidor pode executar um cluster de nó único com k3s ou kubeadm, o que é suficiente para desenvolvimento. Para um cluster que continua a funcionar quando uma máquina falha, use três nós de plano de controlo para que o etcd mantenha o quórum, mais tantos workers quantos as suas cargas de trabalho precisarem.

05Como funcionam os serviços LoadBalancer em bare metal?

Não há um balanceador de carga na nuvem para chamar, por isso instala um no cluster. O MetalLB é a escolha comum: dá a cada Service do tipo LoadBalancer um dos endereços IPv4 extra que encomendou com os seus servidores e anuncia-o na rede.

06O tráfego entre os meus nós ou para os meus utilizadores é medido?

Não. Nada conta o tráfego num servidor dedicado. Cada um tem a sua própria porta, 1 Gbps ou 500 Mbps consoante a linha, e os pulls de imagens, a replicação e o tráfego dos utilizadores passam todos por ela pelo mesmo preço mensal.

07Com que rapidez posso ter os servidores?

Um servidor que já está montado em rack fica pronto cerca de 30 minutos depois de a sua encomenda ser aprovada, com o sistema operativo que escolheu. Um servidor construído segundo a sua especificação demora 4 a 24 horas quando temos as peças. A aprovação em si, pagamento e verificações de fraude, vem primeiro e é a parte que varia.

08Que ajuda recebo se algo avariar?

O nosso chat de IA responde em segundos e pode verificar a sua conta e os servidores por si, e uma pessoa assume sempre que pedir. Resolvemos problemas de hardware e de rede; as questões dentro do seu cluster são suas para resolver, embora tenhamos todo o gosto em indicar-lhe a direção certa.

Construa o seu cluster em servidores seus

Alugue os servidores por mês, mantenha root em cada um e execute Docker ou Kubernetes como quiser. Sem contrato, sem tráfego contado.