Files
2026-03-25 00:05:57 +01:00

1.6 KiB

Namespace

#kubernetes #multi-tenancy #słownik

Co to jest?

Namespace to wirtualny klaster wewnątrz klastra Kubernetes. Pozwala na logiczną izolację zasobów - zasoby w różnych namespace'ach nie widzą się nawzajem (domyślnie).

Kluczowe cechy

  • Scope zasobów - Pods, Services, ConfigMaps etc. są namespace-scoped
  • RBAC - uprawnienia mogą być ograniczone do namespace
  • Resource Quotas - limity CPU/memory per namespace
  • NetworkPolicy - izolacja sieciowa per namespace
  • Brak hierarchii - namespace'y są płaskie (no nesting)

Zasoby namespace-scoped vs cluster-scoped

Namespace-scoped Cluster-scoped
Pod, Service, Deployment Node, Namespace
ConfigMap, Secret ClusterRole
Role, RoleBinding ClusterRoleBinding
NetworkPolicy PersistentVolume
CRDs Sympozium StorageClass

Użycie w Sympozium

Multi-tenancy

Każda SympoziumInstance działa w namespace (domyślnie sympozium-system):

  • Zasoby instancji izolowane w namespace
  • RBAC per-namespace kontroluje dostęp
  • NetworkPolicy per-namespace izoluje sieć

System namespace

sympozium-system - namespace control plane:

  • Controller, API Server, Webhook
  • NATS JetStream
  • Built-in PersonaPacks, SkillPacks, Policies

Efemeryczny RBAC

Namespace-scoped Role + RoleBinding mają ownerReference → AgentRun = auto GC. Cluster-scoped zasoby nie mogą mieć cross-namespace ownerRef.


Powiązane: RBAC | SympoziumInstance | Model bezpieczeństwa Defence-in-Depth