Skip to content
Latchkey

O que e um namespace no Kubernetes? Particoes logicas de cluster

Um namespace do Kubernetes e uma particao logica dentro de um cluster - uma forma de agrupar recursos, delimitar nomes e aplicar quotas e controle de acesso a uma fatia do cluster.

Um unico cluster costuma hospedar muitos times, ambientes ou apps. Namespaces permitem dividir esse cluster em secoes logicas para que os recursos nao colidam e as politicas possam mirar cada secao. Eles sao um limite organizacional e de politica, nao um muro de seguranca rigido como um node ou uma VM.

O que um namespace delimita

A maioria dos objetos - pods, Services, Deployments, ConfigMaps - vive em um namespace, e seus nomes precisam ser unicos apenas dentro dele. Assim, web em staging e web em prod sao objetos distintos no mesmo cluster.

O que ele nao isola

Namespaces nao fornecem isolamento de seguranca forte por si sos. Network policies, RBAC e resource quotas aplicados por namespace adicionam os limites reais; o namespace e a unidade a que essas politicas se prendem.

Escopo de cluster vs namespaced

Alguns objetos (Nodes, PersistentVolumes, os proprios namespaces) tem escopo de cluster e vivem fora de qualquer namespace. A maioria dos objetos de workload e namespaced.

Padroes comuns

  • Namespaces por ambiente (dev, staging, prod).
  • Namespaces por time com RBAC e quotas.
  • Namespaces por aplicacao para isolamento e limpeza organizada.

Namespaces na CI/CD

Pipelines miram um namespace especifico com kubectl -n <ns> apply ou um Helm release por namespace. Ambientes de preview efemeros costumam ser criados como seu proprio namespace por pull request e depois desmontados.

Principais conclusões

  • Um namespace e uma particao logica que delimita nomes e politicas em um cluster.
  • E um limite organizacional; RBAC, quotas e network policy adicionam isolamento real.
  • A CI/CD mira namespaces por ambiente, time ou preview deploy.

Guias relacionados