Kubernetes: espacio de nombres
El espacio de nombres proporciona una calificación adicional al nombre de un recurso. Esto es útil cuando varios equipos utilizan el mismo clúster y existe la posibilidad de una colisión de nombres. Puede ser como un muro virtual entre múltiples clústeres.
Funcionalidad del espacio de nombres
A continuación se muestran algunas de las funcionalidades importantes de un espacio de nombres en Kubernetes:
Los espacios de nombres ayudan a la comunicación de pod a pod utilizando el mismo espacio de nombres.
Los espacios de nombres son clústeres virtuales que pueden ubicarse encima del mismo clúster físico.
Proporcionan una separación lógica entre los equipos y sus entornos.
Crear un espacio de nombres
El siguiente comando se utiliza para crear un espacio de nombres.
apiVersion: v1
kind: Namespce
metadata
name: elk
Controlar el espacio de nombres
El siguiente comando se utiliza para controlar el espacio de nombres.
$ kubectl create –f namespace.yml ---------> 1
$ kubectl get namespace -----------------> 2
$ kubectl get namespace <Namespace name> ------->3
$ kubectl describe namespace <Namespace name> ---->4
$ kubectl delete namespace <Namespace name>
En el código anterior,
- Estamos usando el comando para crear un espacio de nombres.
- Esto mostrará una lista de todos los espacios de nombres disponibles.
- Esto obtendrá un espacio de nombres particular cuyo nombre se especifica en el comando.
- Esto describirá los detalles completos sobre el servicio.
- Esto eliminará un espacio de nombres particular presente en el clúster.
Uso del espacio de nombres en el servicio: ejemplo
A continuación se muestra un ejemplo de un archivo de muestra para usar el espacio de nombres en el servicio.
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
namespace: elk
labels:
component: elasticsearch
spec:
type: LoadBalancer
selector:
component: elasticsearch
ports:
- name: http
port: 9200
protocol: TCP
- name: transport
port: 9300
protocol: TCP
En el código anterior, estamos usando el mismo espacio de nombres en los metadatos del servicio con el nombre de elk.