meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
virtualizacion:kubernetes:namespace [2020/10/25 12:10] lcvirtualizacion:kubernetes:namespace [2023/01/18 14:37] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ===== Namespace ===== ===== Namespace =====
-Nos permite seperar nuestro cluster físico en cluster virtuales separados de forma lógica.  +Nos permite separar nuestro cluster físico en cluster virtuales separados de forma lógica.  Los namespace no permiten agrupar recursos(Pods, servicios, deployments, etc.) por espacios de nombres.  De esta forma podemos tener diferentes aplicaciones, usuarios, etc. trabajando en el mismo cluster de kubernetes pero trabajando en espacios de nombre separados.
  
 Un ejemplo de uso de namespace sería dividir nuestro cluster físico en dos cluster lógicos, uno de pre y otro de pro Un ejemplo de uso de namespace sería dividir nuestro cluster físico en dos cluster lógicos, uno de pre y otro de pro
Línea 23: Línea 23:
 ver lo objetos de un namespace ver lo objetos de un namespace
 <sxh>kubectl get all -n <nombrenamespace></sxh> <sxh>kubectl get all -n <nombrenamespace></sxh>
 +
 +== Establecer un namespace como predeterminado ==
 +<sxh>kubectl config set-context --current –namespace=default</sxh>
 +
 +== Especificar el namespace para un pod ==
 +<sxh>kubectl apply -f pod.yaml --namespace=<nombre_namespace></sxh>
 +
 +
 +==== Ejemplo ====
 +https://github.com/ricardoandre97/k8s-resources/blob/master/namespaces/envs-ns.yaml
 +<sxh yaml>
 +---
 +apiVersion: v1
 +kind: Namespace
 +metadata:
 +  name: dev               #crea un namespace de nombre dev y con la etiqueta dev
 +  labels:
 +    name: dev
 +---
 +apiVersion: v1
 +kind: Namespace
 +metadata:
 +  name: prod           #crea un namespace de nombre prod y con la etiqueta prod
 +  labels:
 +    name: prod
 +---
 +apiVersion: apps/v1
 +kind: Deployment
 +metadata:
 +  name: deployment-dev
 +  namespace: dev           # indica en que namespace debe de crear el deployment
 +  labels:
 +    app: front
 +spec:
 +  replicas: 1
 +  selector:
 +    matchLabels:
 +      app: front
 +  template:
 +    metadata:
 +      labels:
 +        app: front
 +    spec:
 +      containers:
 +      - name: nginx
 +        image: nginx:alpine
 +---
 +apiVersion: apps/v1
 +kind: Deployment
 +metadata:
 +  name: deployment-prod
 +  namespace: prod                       # indica en que namespace debe de crear el deployment
 +  labels:
 +    app: back
 +spec:
 +  replicas: 5
 +  selector:
 +    matchLabels:
 +      app: back
 +  template:
 +    metadata:
 +      labels:
 +        app: back
 +    spec:
 +      containers:
 +      - name: nginx
 +        image: nginx:alpine
 + </sxh>
 ==== Referencias ==== ==== Referencias ====
   * https://kubernetes.io/es/docs/concepts/overview/working-with-objects/namespaces/   * https://kubernetes.io/es/docs/concepts/overview/working-with-objects/namespaces/