Files
obsidian-sympozium/08-Słownik-K8s/Namespace.md
2026-03-25 00:05:57 +01:00

48 lines
1.6 KiB
Markdown

# 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]]