Skip to content

NamespaceNamespace

Les Namespaces permettent d'isoler, de regrouper et d'organiser les ressources au sein d'un cluster Kubernetes.

La plupart des distributions Kubernetes créent trois ou quatre Namespaces par défaut :

namespace

NamespaceDescription
defaultLe namespace par défaut où les ressources sont placées si aucun namespace spécifique n'est spécifié lors de leur création
kube-publicUtilisé par les ressources publiques, il n'est pas recommandé de l'utiliser par les utilisateurs du cluster
kube-systemUtilisé par le control plane pour les ressources système, il n'est pas recommandé de l'utiliser par les utilisateurs du cluster
kube-node-leaseCe namespace contient des objets Lease associés à chaque node. Les Leases de node permettent au kubelet d'envoyer des battements de cœur (heartbeats) afin que le control plane puisse détecter la défaillance d'une node

Scope des Namespaces

Le scope des namespaces varie selon les objets :

  • Scope global à tout le cluster : PersistentVolumes, Nodes
  • Scope restreint au namespace : Deployments, Pods, Services, StatefulSets, ConfigMaps, Secrets, Quotas, etc.

Cas d'utilisation

Isolation des Ressources

Les organisations utilisant un cluster unique pour le développement, les tests et la production peuvent utiliser les Namespaces pour isoler les environnements.

namespace-isolation

Contrôle d'Accès

Les Namespaces permettent l'utilisation de RBAC (contrôle d'accès basé sur les rôles), permettant aux équipes de définir des rôles regroupant des listes d'autorisations spécifiques.

namespace-control

Allocation de Ressources Physiques

Les utilisateurs peuvent définir des limites de ressources (ram, cpu etc.) sur les Namespaces en configurant des quotas de ressources.

namespace-resource

INFO

Les grandes équipes peuvent utiliser les Namespaces pour isoler leurs microservices.