2.9 KiB
2.9 KiB
Sidecar Pattern
#kubernetes #patterns #słownik
Co to jest?
Sidecar Pattern to wzorzec architektoniczny w Kubernetes gdzie dodatkowy kontener (sidecar) jest uruchamiany obok głównego kontenera w tym samym Pod. Sidecar rozszerza lub uzupełnia funkcjonalność głównego kontenera.
Cechy
- Współdzieli sieć z głównym kontenerem (localhost)
- Współdzieli woluminy (np. /ipc, /workspace)
- Ma własne zasoby (CPU, memory limits)
- Ma własny lifecycle (może mieć inne healthchecks)
- Nie modyfikuje głównego kontenera
Typowe zastosowania
| Sidecar | Rola | Przykład |
|---|---|---|
| Log collector | Zbiera logi | Fluentd, Filebeat |
| Proxy | Routing sieciowy | Envoy (Istio), Linkerd |
| Auth | Autentykacja/autoryzacja | OAuth2 proxy |
| Monitoring | Metryki | Prometheus exporter |
| IPC Bridge | Komunikacja | Sympozium: fsnotify → NATS |
| Skill sidecar | Narzędzia | Sympozium: kubectl, helm |
Komunikacja main ↔ sidecar
| Metoda | Opis | Użycie w Sympozium |
|---|---|---|
| Shared volume | Pliki w współdzielonym katalogu | /ipc/ - JSON request/response |
| localhost | HTTP/gRPC na localhost | Memory server API |
| Shared network | Porty na localhost | MCP bridge |
Użycie w Sympozium
Sympozium to intensywny użytkownik sidecar pattern. Typowy agent pod:
┌─────────────────────────────────────────────┐
│ Agent Pod │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ MAIN: │ │ SIDECAR: │ │ SIDECAR: │ │
│ │ Agent │ │ IPC │ │ Skill │ │
│ │ Runner │ │ Bridge │ │ (kubectl)│ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ SIDECAR: │ │ SIDECAR: │ │
│ │ MCP │ │ Sandbox │ │
│ │ Bridge │ │ (opcj.) │ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────┘
Kluczowa innowacja: skill sidecary mają własny RBAC, a agent container nie ma żadnych credentials K8s.
Więcej: Skill Sidecars i auto-RBAC | Cykl życia Agent Pod
Powiązane: Pod | Skill Sidecars i auto-RBAC | Przepływ danych i IPC