Trabajando con Namespaces
Para obtener la lista de Namespaces ejecutamos:
kubectl get namespaces
El resultado será algo similar a:
NAME STATUS AGE
default Active 1d
kube-public Active 1d
kube-system Active 1d
default
: Espacio de nombres por defecto.kube-system
: Espacio de nombres creado y gestionado por Kubernetes.kube-public
: Espacio de nombres accesible por todos los usuarios, reservado para uso interno del cluster.
Crear un nuevo Namespace
Para crear un nuevo Namespace, ejecutamos:
kubectl create ns proyecto1
El resultado será:
namespace "proyecto1" created
Otra forma de crear un Namespace es a partir de un archivo YAML con su definición:
apiVersion: v1
kind: Namespace
metadata:
name: proyecto1
Ver las características del nuevo Namespace
Podemos ver las características del nuevo espacio de nombres con:
kubectl describe ns proyecto1
El resultado será algo similar a:
Name: proyecto1
Labels: <none>
Annotations: <none>
Status: Active
No resource quota.
No resource limits.
Obtener la definición YAML del Namespace
Podemos obtener la definición YAML del Namespace con:
kubectl get ns proyecto1 -o yaml
El resultado será algo similar a:
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: 2018-05-23T16:19:58Z
name: proyecto1
resourceVersion: "152566"
selfLink: /api/v1/namespaces/proyecto1
uid: 2306825c-5ea5-11e8-ab66-fa163e99cb75
spec:
finalizers:
- kubernetes
status:
phase: Active
Eliminar un Namespace
Para eliminar un Namespace, ejecutamos:
kubectl delete ns proyecto1
El resultado será:
namespace "proyecto1" deleted
Listar todos los recursos en un Namespace
Para listar todos los recursos en un Namespace específico, ejecutamos:
kubectl get all -n proyecto1
Esto mostrará todos los pods, servicios, deployments, etc., en el Namespace proyecto1
.
Cambiar el Namespace por defecto
Para cambiar el Namespace por defecto en el contexto actual, ejecutamos:
kubectl config set-context --current --namespace=proyecto1
Esto hará que todos los comandos kubectl
se ejecuten en el Namespace proyecto1
por defecto.