Kubernetes · 4 min read · Nov 03, 2025

Comment créer des espaces de noms dans Kubernetes

Un espace de noms est utile lorsque plusieurs équipes utilisent le même cluster. Cela est utilisé lorsqu’il y a un potentiel de collision de noms. Cela peut être un mur virtuel entre plusieurs clusters. Par exemple, nous ne pouvons pas avoir des pods avec le même nom dans un cluster Kubernetes, mais en utilisant un espace de noms, nous pouvons virtuellement diviser le cluster et avoir des pods avec le même nom.

Certaines des fonctionnalités importantes d’un espace de noms sont les suivantes.

  1. Il aide à la communication entre pods utilisant le même espace de noms.
  2. Il agit comme un cluster virtuel qui peut se situer au-dessus du même cluster physique.
  3. Il fournit une séparation logique entre les équipes et leurs environnements.

Dans cet article, nous allons créer un espace de noms et créer un pod dans l’espace de noms nouvellement créé. Nous verrons également comment un espace de noms peut être défini comme un espace de noms par défaut.

Prérequis

  1. Cluster Kubernetes avec au moins 1 nœud de travail.
    Si vous souhaitez apprendre à créer un cluster Kubernetes, cliquez ici. Ce guide vous aidera à créer un cluster Kubernetes avec 1 maître et 2 nœuds sur des instances EC2 AWS Ubuntu 18.04.

Ce que nous allons faire

  1. Créer des espaces de noms

Créer des espaces de noms

Pour lister tous les espaces de noms disponibles dans le cluster Kubernetes, exécutez la commande suivante. Vous pouvez avoir plusieurs espaces de noms et les espaces de noms peuvent avoir des métadonnées d’espace de noms.

kubectl get namespace #Obtenir tous les espaces de noms dans le cluster

get-namespaces for kubernetes namespace

Maintenant, essayons de créer un pod dans un espace de noms particulier qui n’existe pas.

Pour créer un pod dans l’espace de noms “test-env”, exécutez la commande suivante.

kubectl run nginx --image=nginx --namespace=test-env #Essayer de créer un pod dans l'espace de noms qui n'existe pas.

Le pod ne sera pas créé dans l’espace de noms qui n’existe pas, nous devons donc d’abord créer un espace de noms.

Pour créer un espace de noms “test-env”, exécutez la commande suivante (k8s créer un espace de noms).

kubectl create namespace test-env #Créer un espace de noms
kubectl get namespace #Obtenir une liste des espaces de noms

create-namespace

Maintenant, nous avons un espace de noms dans lequel nous voulons créer un pod.

Pour créer un pod dans l’espace de noms que nous avons créé, passez l’option –namespace=test-env à la commande.

kubectl run nginx --image=nginx --namespace=test-env #Créer un pod dans l'espace de noms.

Si vous essayez d’obtenir des pods sans spécifier l’espace de noms, vous ne recevrez pas les détails du pod.

kubectl get pods #Obtenir une liste des pods

Pour obtenir les détails du pod qui appartient à l’espace de noms “test-env”, utilisez la commande suivante.

kubectl get pods --namespace=test-env #Obtenir une liste des pods dans l'espace de noms spécifié

create-pod-in-the-namespace-created

Si vous souhaitez définir votre espace de noms comme espace de noms par défaut afin qu’il ne soit pas nécessaire de spécifier l’option d’espace de noms dans la commande, utilisez la commande suivante.

kubectl config set-context --current --namespace=test-env #Définir l'espace de noms par défaut

Maintenant, il n’est plus nécessaire de spécifier l’espace de noms dans la commande pour obtenir les détails du pod.

kubectl get pods #Obtenir une liste des pods de l'espace de noms par défaut

Pour passer à l’espace de noms par défaut, utilisez la commande suivante.

kubectl config set-context --current --namespace=default #Vérifier l'espace de noms par défaut
kubectl get pods #Obtenir une liste des pods

Pour vérifier quel est l’espace de noms par défaut, utilisez les commandes suivantes.

kubectl config view --minify | grep namespace: #Extraire l'espace de noms du fichier de configuration kubernetes.
kubectl config set-context --current --namespace=test-env #Définir l'espace de noms par défaut dans le fichier de configuration.
kubectl config view --minify | grep namespace:

check-current-namespace

Vérifiez quels sont les ressources Kubernetes qui sont un espace de noms, exécutez la commande suivante.

kubectl api-resources --namespaced=true #Obtenir les objets Kubernetes qui peuvent être dans des espaces de noms

resources-with-namespace

Pour voir quels objets Kubernetes ne sont pas dans un espace de noms, utilisez la commande suivante.

kubectl api-resources --namespaced=false #Obtenir une liste des objets Kubernetes qui ne peuvent jamais être dans un espace de noms

resources-without-namespace

Vous pouvez obtenir les détails de l’espace de noms en utilisant la commande mentionnée ci-dessous.

kubectl get namespaces #Obtenir une liste des espaces de noms.
kubectl describe namespace test-env #Obtenir les détails d'un espace de noms.

describe-namespace

Un espace de noms peut également être créé à l’aide d’un fichier .yml.

vim namespace-using-file.yml #Créer un fichier de définition d'espace de noms

create-namespace-using-yml-file

Exécutez la commande suivante pour créer un espace de noms spécifié dans le fichier de définition d’objet.

kubectl create -f namespace-using-file.yml #Créer un espace de noms à l'aide d'un fichier .yml
kubectl get namespaces #Obtenir une liste des espaces de noms

get-namespaces

Lorsque vous n’avez plus besoin de votre espace de noms, il peut simplement être supprimé en utilisant la commande suivante.

kubectl get namespaces #Obtenir une liste des espaces de noms
kubectl delete namespaces env-prod test-env #Supprimer un espace de noms
kubectl get namespaces #Obtenir une liste des espaces de noms

delete-namespaces

Utilisez la commande “kubectl change namespace” pour passer à un autre espace de noms.

Conclusion

Dans cet article, nous avons appris sur les espaces de noms, la création d’un espace de noms et le changement de l’espace de noms par défaut, en vérifiant les ressources Kubernetes qui sont et ne sont pas dans un espace de noms. Nous avons également vu comment un objet Kubernetes, ici un pod, peut être créé dans un espace de noms de notre choix.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.