Namespaces et Quotas 16 min de lecture

Namespaces pour l'isolation

Qu'est-ce qu'un Namespace ?

Les Namespaces permettent d'isoler les ressources dans un cluster. Ils sont utiles pour :

  • Separer les environnements (dev, staging, prod)
  • Isoler les equipes ou projets
  • Appliquer des quotas et des politiques

Namespaces par defaut

  • default : Namespace par defaut
  • kube-system : Composants systeme Kubernetes
  • kube-public : Ressources publiques
  • kube-node-lease : Heartbeats des nÅ“uds

Creer un Namespace

kubectl create namespace dev
kubectl create namespace prod

Namespace YAML

apiVersion: v1
kind: Namespace
metadata:
  name: staging

Utiliser un Namespace

kubectl get pods -n dev
kubectl apply -f deployment.yaml -n prod
kubectl config set-context --current --namespace=dev

Deployer dans un Namespace

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  namespace: dev
spec:
  ...
Bonne pratique : Ne deployez jamais en production dans le namespace default. Creez toujours des namespaces dedies.