initial commit
This commit is contained in:
64
08-Słownik-K8s/Sidecar Pattern.md
Normal file
64
08-Słownik-K8s/Sidecar Pattern.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# 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|podzie]]. 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]]
|
||||
Reference in New Issue
Block a user