Kubernetes · 4 min read · Nov 03, 2025
Como criar Namespaces no Kubernetes

Um namespace é útil quando várias equipes estão usando o mesmo cluster. Isso é usado quando há potencial para colisão de nomes. Pode ser uma parede virtual entre vários clusters. Por exemplo, não podemos ter pods com o mesmo nome em um Cluster Kubernetes, mas usando Namespace podemos dividir virtualmente o Cluster e ter pods com o mesmo nome.
Algumas das funcionalidades importantes de um Namespace são as seguintes.
- Ajuda na comunicação pod-a-pod usando o mesmo namespace.
- Atua como um cluster virtual que pode estar em cima do mesmo cluster físico.
- Fornece uma separação lógica entre as equipes e seus ambientes.
Neste artigo, criaremos um namespace e criaremos um pod no namespace recém-criado. Também veremos como um namespace pode ser definido como um namespace padrão.
Pré-requisitos
- Cluster Kubernetes com pelo menos 1 nó trabalhador.
Se você quiser aprender a criar um Cluster Kubernetes, clique aqui. Este guia o ajudará a criar um cluster Kubernetes com 1 Master e 2 Nós em Instâncias EC2 Ubuntu 18.04 da AWS.
O que faremos
- Criar Namespaces
Criar Namespaces
Para listar todos os namespaces disponíveis no Cluster Kubernetes, execute o seguinte comando. Você pode ter múltiplos namespaces e os namespaces podem ter metadados de namespace.
kubectl get namespace #Obter todos os namespaces no cluster
Agora vamos tentar criar um pod em um namespace específico que não existe.
Para criar um pod no namespace “test-env”, execute o seguinte comando.
kubectl run nginx --image=nginx --namespace=test-env #Tentar criar um pod no namespace que não existe.O pod não será criado no namespace que não existe, portanto, primeiro precisamos criar um namespace.
Para criar um namespace “test-env”, execute o seguinte comando (k8s criar namespace).
kubectl create namespace test-env #Criar um namespacekubectl get namespace #Obter uma lista de namespaces
Agora temos um namespace no qual queremos criar um pod.
Para criar um pod no namespace que criamos, passe a opção –namespace=test-env para o comando.
kubectl run nginx --image=nginx --namespace=test-env #Criar um pod no namespace.Se você tentar obter pods sem especificar o namespace, não obterá detalhes do pod.
kubectl get pods #Obter uma lista de podsPara obter detalhes do pod que pertence ao namespace “test-env”, use o seguinte comando.
kubectl get pods --namespace=test-env #Obter uma lista de pods no namespace especificado
Se você quiser definir seu namespace como o namespace padrão, para que não haja necessidade de especificar a opção de namespace no comando, use o seguinte comando.
kubectl config set-context --current --namespace=test-env #Definir namespace padrãoAgora não há necessidade de especificar o namespace no comando para obter detalhes do pod.
kubectl get pods #Obter uma lista de pods do namespace padrãoPara mudar para o namespace padrão, use o seguinte comando.
kubectl config set-context --current --namespace=default #Verificar o namespace para padrãokubectl get pods #Obter uma lista de podsPara verificar qual é o namespace padrão, use os seguintes comandos.
kubectl config view --minify | grep namespace: #Extrair o namespace do arquivo de configuração do kubernetes.kubectl config set-context --current --namespace=test-env #Definir namespace padrão no arquivo de configuração.kubectl config view --minify | grep namespace:
Verifique quais recursos do Kubernetes são um namespace, execute o seguinte comando.
kubectl api-resources --namespaced=true #Obter objetos Kubernetes que podem estar em namespaces
Para ver quais recursos do Kubernetes não estão em um namespace, use o seguinte comando.
kubectl api-resources --namespaced=false #Obter uma lista de objetos Kubernetes que nunca podem estar em um namespace
Você pode obter detalhes do namespace usando o comando mencionado abaixo.
kubectl get namespaces #Obter uma lista de namespaces.kubectl describe namespace test-env #Obter detalhes de um namespace.
Um namespace também pode ser criado usando um arquivo .yml.
vim namespace-using-file.yml #Criar um arquivo de definição de namespace
Execute o seguinte comando para criar um namespace especificado no arquivo de definição do objeto.
kubectl create -f namespace-using-file.yml #Criar um namespace usando um arquivo .ymlkubectl get namespaces #Obter uma lista de namespaces
Quando você não precisar mais do seu namespace, ele pode ser simplesmente excluído usando o seguinte comando.
kubectl get namespaces #Obter uma lista de namespaceskubectl delete namespaces env-prod test-env #Excluir um namespacekubectl get namespaces #Obter uma lista de namespaces
Use o comando “kubectl change namespace” para mudar para um namespace diferente.
Conclusão
Neste artigo, aprendemos sobre namespaces, como criar um namespace e como mudar o namespace padrão, verificando os recursos do Kubernetes que estão e não estão em um namespace. Também vimos como um objeto Kubernetes, aqui um pod, pode ser criado em um namespace de nossa escolha.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.