Com um cluster recem criado, esses são os 4 namespaces padrões do Kubernetes.
kubectl get namespace
NAME STATUS AGE
default Active 6h16m
kube-node-lease Active 6h16m
kube-public Active 6h16m
kube-system Active 6h16m
Tudo que for criado sem declarar um namespace vai para o namespace default.
kubectl run nginx --image=nginx
kubectl get pods
# O comando abaixo lista os pods de todos os namespaces
kubectl get pods -A
Criando recursos em um namespace específico.
Obs. O namespace já deve existir, ou seja deve ser criado previamente.
# Criando o namespace projeto1
kubectl create namespace projeto1
# Criando um pod no namespace projeto1
kubectl run nginx --image=nginx --namespace=projeto1
# Listando os pods do namespace projeto1
kubectl get pods --namespace=projeto1
Configurando um namespaces de preferência como padrão no lugar do default.
Assim não precisamos informá-lo a cada comando.
kubectl config set-context --current --namespace=projeto1
# Validando
kubectl config view --minify | grep namespace:
# Testando
kubectl run nginx2 --image=nginx
kubectl get pods
kubectl get pods -A
kubectl delete pod nginx2
Desfazendo a configuração e retornando para o namespace default como padrão.
kubectl config set-context --current --namespace=
# Validando
kubectl config view --minify | grep namespace:
Limpado os recursos criados
# Deletando o pod do criado no namespace dafault
kubectl delete pod nginx
# Deletando o namespace criado
kubectl delete namespace projeto1