Kubernetes - Espace de noms

L'espace de noms fournit une qualification supplémentaire à un nom de ressource. Cela est utile lorsque plusieurs équipes utilisent le même cluster et qu'il existe un risque de collision de noms. Il peut s'agir d'un mur virtuel entre plusieurs clusters.

Fonctionnalité de l'espace de noms

Voici quelques-unes des fonctionnalités importantes d'un espace de noms dans Kubernetes -

  • Les espaces de noms facilitent la communication de pod à pod en utilisant le même espace de noms.

  • Les espaces de noms sont des clusters virtuels qui peuvent être placés au-dessus du même cluster physique.

  • Ils assurent une séparation logique entre les équipes et leurs environnements.

Créer un espace de noms

La commande suivante est utilisée pour créer un espace de noms.

apiVersion: v1
kind: Namespce
metadata
   name: elk

Contrôler l'espace de noms

La commande suivante est utilisée pour contrôler l'espace de noms.

$ 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>

Dans le code ci-dessus,

  • Nous utilisons la commande pour créer un espace de noms.
  • Cela listera tous les espaces de noms disponibles.
  • Cela obtiendra un espace de noms particulier dont le nom est spécifié dans la commande.
  • Cela décrira les détails complets du service.
  • Cela supprimera un espace de noms particulier présent dans le cluster.

Utilisation de l'espace de noms dans le service - Exemple

Voici un exemple de fichier d'exemple pour l'utilisation de l'espace de noms en service.

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

Dans le code ci-dessus, nous utilisons le même espace de noms sous les métadonnées de service avec le nom de elk.