Aller au contenu

Namespaces et quotas

Onglet Paramètres → Namespaces — création et suppression réservées aux administrateurs de plateforme.

Paramètres — Namespaces

Un namespace est un espace de travail isolé : ses applications, volumes et buckets sont séparés de ceux des autres namespaces, et il porte ses propres quotas et permissions.

Créer un namespace

Nouveau namespace (depuis l'en-tête du tableau de bord ou l'onglet Namespaces) → nom (lettres minuscules et chiffres), description, et quotas :

Quota Ce qu'il plafonne
CPU requests / limits La somme des réservations et des plafonds CPU des pods
Mémoire requests / limits Idem pour la mémoire
Pods Le nombre de pods simultanés
Stockage La somme des capacités des volumes persistants

Les valeurs par défaut de la plateforme sont préremplies et ajustables à la création. CPU, mémoire et stockage se saisissent en nombre entier + unité (m/cœurs, Mi/Gi/Ti), le nombre de pods en entier.

Une case Isoler le namespace au réseau (cochée par défaut) applique immédiatement la policy réseau deny-all décrite plus bas — décochez-la pour créer un namespace ouvert ; l'isolation reste activable à tout moment par la suite depuis l'onglet Namespaces.

Suivre et ajuster les quotas

  • La jauge de quota du tableau de bord montre en continu la consommation du namespace courant.
  • Dans l'onglet Namespaces, le bouton quotas de chaque ligne permet d'ajuster les plafonds d'un namespace existant.
  • En sélectionnant plusieurs namespaces, l'édition s'applique en masse à toute la sélection.

Tip

Un déploiement refusé pour exceeded quota indique le quota en cause et les valeurs demandées/utilisées/plafond — de quoi décider entre libérer des ressources et relever le quota.

Permissions d'un namespace

Le bouton Permissions d'une ligne accorde à un utilisateur un rôle (viewer, operator, admin) sur ce namespace — voir Accès et permissions.

Isolation réseau

Le bouton Réseau d'une ligne ouvre l'isolation réseau du namespace — deny-all par défaut une fois activée : plus aucun trafic entrant ou sortant n'est autorisé sauf les règles déclarées ci-dessous (et quelques flux techniques toujours nécessaires : DNS, accès au Gateway pour les HTTPRoute, etc.).

Isolation réseau

  • Activer / désactiver l'isolation : bascule le namespace entre ouvert (comportement historique) et isolé. Les règles déclarées restent visibles et modifiables même désactivées, simplement sans effet tant que l'isolation n'est pas réactivée.
  • Connexions sortantes (internet) : case cochée par défaut, qui laisse les applications du namespace joindre l'extérieur du cluster — téléchargement de paquets, appel d'API tierces. Décochée, il ne reste que les flux techniques (DNS, API Kubernetes, Forgejo, Keycloak) et les règles déclarées. L'isolation porte donc sur le trafic entre namespaces, pas sur l'accès à internet.
  • Édition en masse : cochez plusieurs namespaces dans la liste puis cliquez sur Réseau dans la barre d'outils pour activer ou désactiver l'isolation, ou autoriser ou couper les connexions sortantes, sur toute la sélection d'un coup. Les namespaces pour lesquels il n'y a rien à faire (déjà dans l'état demandé, ou non isolés pour les connexions sortantes) sont ignorés et listés à la fin.
  • Règles d'accès : autorise un namespace (et éventuellement une app précise de ce namespace) à joindre ce namespace sur un port donné — utile par exemple pour une réplication inter-namespace ou un accès applicatif cross-namespace légitime.
  • Ports exposés : expose un Service de ce namespace sur un port TCP public via le Gateway partagé, pour un accès depuis l'extérieur du cluster. Chaque port peut être restreint à une liste d'adresses IP autorisées (IP ou plages CIDR, pré-remplie avec votre adresse actuelle à la création, modifiable ensuite via l'icône filtre) : une source hors liste est refusée par le proxy avant d'atteindre l'application. Laissée vide, toute adresse que le pare-feu externe laisse passer est acceptée. Une base PostgreSQL s'expose plutôt depuis sa propre carte (bouton Accès externe), qui choisit le port et exige TLS — voir Administration PostgreSQL.

Note

Seuls les namespaces créés après l'introduction de cette fonctionnalité peuvent être isolés — et parmi eux, l'isolation n'est effective dès la création que si la case correspondante était cochée (voir ci-dessus). Un namespace non isolé (plus ancien, ou créé sans cocher la case) affiche « non isolé » : les règles déclarées n'ont alors aucun effet côté cluster tant que l'isolation n'est pas activée.

Warning

Exposer un port (onglet Ports exposés) nécessite aussi le forward correspondant côté infrastructure, sur un éventuel pare-feu en amont — non automatisé depuis cette interface.

Supprimer un namespace

Suppression avec confirmation — détruit tout le contenu du namespace (applications, volumes, buckets). Irréversible.