Kubernetes: o que é, como funciona e quando vale a pena usar

O que é Kubernetes, como funcionam o plano de controle, os nós, pods, deployments e serviços, um exemplo de manifesto e critérios para decidir quando ele vale a pena e quando é exagero.

Por Equipe Global World Connect

7 min de leitura

Ilustração de um nó de controle central conectado a seis nós com pods, representando um cluster Kubernetes
Ilustração original do Global World Connect

Rodar um container é fácil. Rodar centenas deles, em dezenas de servidores, com atualizações sem interrupção, recuperação automática de falhas e escala conforme a demanda, é outro problema. O Kubernetes surgiu para resolver esse segundo.

Este guia explica o que é o Kubernetes, como ele é organizado, quais são seus conceitos principais e, sobretudo, quando vale a pena usá-lo, porque para muitos projetos ele é mais complexidade do que solução. Se ainda não conhece containers, comece por Docker e containers.

O que é Kubernetes

Kubernetes, muitas vezes abreviado como K8s, é uma plataforma de orquestração de containers de código aberto. Ela automatiza a implantação, a escala e o gerenciamento de aplicações em containers.

Foi criado no Google, com base na experiência da empresa em operar containers em grande escala, e aberto ao público em 2014. Hoje é mantido pela comunidade sob a Cloud Native Computing Foundation (CNCF).

A ideia central é o estado desejado. Você declara o que quer ("quero três cópias desta aplicação rodando"), e o Kubernetes trabalha continuamente para que a realidade seja igual ao que foi declarado. Se um servidor cai e uma cópia some, ele cria outra em outro lugar.

O que o Kubernetes faz

A documentação oficial destaca, entre outras, estas capacidades:

  • Descoberta de serviços e balanceamento de carga: distribui o tráfego entre as cópias da aplicação.
  • Atualizações graduais (rolling updates) e reversão: troca versões aos poucos e volta atrás se algo der errado.
  • Autorrecuperação: reinicia containers que falham e os substitui quando um nó deixa de funcionar.
  • Escala: aumenta ou diminui o número de cópias, manualmente ou automaticamente.
  • Gerenciamento de configuração e de segredos: separa configurações e credenciais da imagem.
  • Orquestração de armazenamento: conecta volumes de dados às aplicações.

Como o Kubernetes é organizado

Um conjunto de máquinas gerenciadas pelo Kubernetes forma um cluster, dividido em duas partes.

Plano de controle (control plane)

É o "cérebro" que toma as decisões. Seus principais componentes:

  • API server: a porta de entrada. Tudo passa por ele, inclusive os seus comandos.
  • etcd: o banco de dados que guarda o estado do cluster.
  • Scheduler: decide em qual nó cada pod vai rodar.
  • Controller manager: executa os laços de controle que aproximam o estado real do desejado.

Nós (nodes)

São as máquinas, físicas ou virtuais, que executam as aplicações. Cada nó roda:

  • kubelet: o agente que garante que os containers estejam rodando conforme o combinado;
  • container runtime: o software que executa os containers;
  • kube-proxy: cuida das regras de rede.

Os objetos principais

ObjetoO que éAnalogia
PodA menor unidade: um ou mais containers que compartilham rede e armazenamentoUma "cápsula" com a aplicação
DeploymentDescreve quantas cópias de um pod devem existir e como atualizá-lasUm gerente que mantém o número de cópias
ServiceUm endereço estável para acessar um conjunto de podsUm telefone fixo que encaminha para quem estiver disponível
IngressRegras para expor serviços de fora do cluster, geralmente por HTTPA recepção do prédio
ConfigMap e SecretConfigurações e dados sensíveis, separados da imagemO painel de configurações
NamespaceDivisão lógica do clusterPastas para separar equipes ou ambientes
VolumeArmazenamento que sobrevive ao containerUm disco externo

Um exemplo de manifesto

Objetos são descritos em arquivos YAML. Este manifesto declara um Deployment com três cópias de um servidor web:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: web
          image: nginx:stable
          ports:
            - containerPort: 80

O que ele diz: "mantenha três pods com o rótulo app: web, cada um rodando a imagem nginx:stable e escutando na porta 80".

Comandos básicos com a ferramenta kubectl:

kubectl apply -f deployment.yaml
kubectl get pods
kubectl scale deployment web --replicas=5

O primeiro aplica o manifesto, o segundo lista os pods e o terceiro muda o número de cópias para cinco. Se você apagar um pod com kubectl delete pod, o Deployment cria outro no lugar, porque o estado desejado continua sendo de cópias existentes.

Kubernetes gerenciado x por conta própria

Montar e manter o plano de controle é trabalhoso. Por isso, os grandes provedores de nuvem oferecem o Kubernetes como serviço gerenciado, em que eles cuidam do plano de controle: EKS na AWS, AKS na Azure e GKE no Google Cloud. Veja mais em AWS, Azure e Google Cloud: como comparar.

  • Gerenciado: menos trabalho operacional, com custos do serviço e alguma dependência do provedor.
  • Por conta própria: mais controle e possibilidade de rodar em servidores próprios, mas com responsabilidade sobre atualizações, segurança e disponibilidade.

Quando vale a pena usar

O Kubernetes costuma fazer sentido quando:

  • muitos serviços (microsserviços) que precisam ser implantados e escalados de forma independente;
  • a demanda varia bastante e exige escala automática;
  • é preciso alta disponibilidade, com atualizações sem parar o serviço;
  • diversas equipes precisam de uma plataforma padronizada para publicar aplicações;
  • há necessidade de rodar em vários ambientes (nuvem e servidores próprios) com o mesmo modelo.

Quando não vale a pena

Sendo honesto, para muitos projetos ele é exagero:

  • Aplicação pequena ou única. Um servidor com Docker Compose, uma plataforma gerenciada ou um serviço de containers sem servidor costuma bastar.
  • Equipe pequena, sem experiência. A curva de aprendizado é grande, e a manutenção consome tempo.
  • Carga estável e previsível. Se não há grandes variações, a escala automática pouco agrega.
  • Sem necessidade de alta disponibilidade rigorosa.
  • Orçamento limitado. O cluster tem custo próprio de recursos e de pessoas.

Alternativas mais simples incluem: uma hospedagem como VPS ou nuvem simples, plataformas PaaS e serviços de containers sem servidor oferecidos pelos provedores. Vale a pena começar pelo mais simples e migrar quando a necessidade aparecer.

Segurança: pontos de atenção

Um cluster mal configurado é um risco. Algumas práticas centrais:

  • Controle de acesso (RBAC): dê a cada pessoa e serviço só as permissões necessárias.
  • Não exponha a API do cluster à internet sem proteção adequada.
  • Proteja os Secrets, ativando a criptografia e evitando colocá-los em repositórios.
  • Use imagens confiáveis e atualize-as.
  • Limite a comunicação entre pods com políticas de rede.
  • Mantenha o Kubernetes atualizado, porque versões antigas deixam de receber correções.

A documentação oficial traz um guia de segurança. Para princípios mais amplos, veja segurança digital.

Custos e operação

Kubernetes não é barato de operar. Além do custo dos servidores, contam o tempo da equipe, o monitoramento, o armazenamento e o tráfego de rede. Sem cuidado, os custos crescem de forma silenciosa. Veja boas práticas em como reduzir custos na nuvem.

Perguntas frequentes

Kubernetes substitui o Docker?

Não. O Docker cria e executa containers. O Kubernetes orquestra muitos containers em vários servidores. Ele não exige o Docker: usa qualquer ambiente de execução compatível com o padrão de containers.

O que significa K8s?

É uma abreviação: a palavra Kubernetes tem 8 letras entre o "K" e o "s".

Preciso saber programar para usar?

Não é preciso programar, mas é necessário entender containers, redes, Linux e conceitos de infraestrutura. Os manifestos são arquivos de configuração, e não código de aplicação.

Dá para aprender Kubernetes localmente?

Sim. Existem ferramentas para criar clusters pequenos no computador, como Minikube e kind, indicadas para estudo. Consulte a documentação oficial para a instalação.

Kubernetes é só para empresas grandes?

Foi criado para grande escala, mas é usado em empresas de vários portes. O ponto não é o tamanho da empresa, e sim a necessidade real de orquestração.

Conclusão

Kubernetes é uma plataforma de orquestração que mantém aplicações em containers no estado que você declarou: com escala, atualizações graduais e recuperação automática. Ele é poderoso e amplamente adotado, mas também complexo e caro de operar.

Use-o quando houver muitos serviços, demanda variável ou necessidade de alta disponibilidade. Para projetos pequenos, comece com algo mais simples. Este guia foi revisado em setembro de 2026, e o projeto evolui rápido, por isso confira a documentação oficial.

Fontes

Gostou? Compartilhe:WhatsAppFacebookXLinkedInTelegram
← Ver todos os artigos