72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# Job (Kubernetes)
|
|
|
|
#kubernetes #workload #słownik
|
|
|
|
## Co to jest?
|
|
|
|
**Job** to zasób Kubernetes tworzący **pod który wykonuje zadanie i kończy się**. W odróżnieniu od [[Deployment]] (pody działają ciągle), Job tworzy pod który ma zakończyć się sukcesem.
|
|
|
|
## Zachowanie
|
|
|
|
```
|
|
Job created → Pod created → Pod runs → Pod completes (exit code 0) → Job Succeeded
|
|
→ Pod fails (exit code != 0) → Job retries or Failed
|
|
```
|
|
|
|
## Kluczowe cechy
|
|
|
|
| Cecha | Opis |
|
|
|-------|------|
|
|
| **Run-to-completion** | Pod kończy się po wykonaniu zadania |
|
|
| **Retry policy** | Konfigurowalny `backoffLimit` (ile razy retry) |
|
|
| **Parallelism** | Wiele podów jednocześnie (`parallelism`) |
|
|
| **TTL cleanup** | Automatyczne usuwanie po N sekundach |
|
|
| **Completions** | Ile podów musi zakończyć się sukcesem |
|
|
|
|
## Przykład
|
|
|
|
```yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: agent-run-001
|
|
spec:
|
|
backoffLimit: 0 # Bez retries
|
|
ttlSecondsAfterFinished: 300 # Usuń po 5 minutach
|
|
template:
|
|
spec:
|
|
restartPolicy: Never
|
|
containers:
|
|
- name: agent
|
|
image: agent-runner:v1
|
|
```
|
|
|
|
## Job vs inne workloady
|
|
|
|
| Workload | Lifecycle | Restart | Use case |
|
|
|----------|-----------|---------|----------|
|
|
| **Job** | Run-to-completion | Never/OnFailure | Batch, one-shot |
|
|
| [[Deployment]] | Long-running | Always | Web services |
|
|
| CronJob | Periodic Job | Never/OnFailure | Scheduled batch |
|
|
| [[DaemonSet]] | One per node | Always | Node agents |
|
|
| [[StatefulSet]] | Ordered, stable | Always | Databases |
|
|
|
|
## Użycie w Sympozium
|
|
|
|
**AgentRun w trybie task = Kubernetes Job:**
|
|
|
|
Każde wywołanie agenta tworzy Job z:
|
|
- Agent container (LLM loop)
|
|
- IPC Bridge sidecar
|
|
- Skill sidecars
|
|
- `backoffLimit: 0` (brak retry - lepsze logowanie błędów)
|
|
- `restartPolicy: Never`
|
|
|
|
Po zakończeniu controller zbiera logi, wynik i token usage ze statusu poda.
|
|
|
|
Więcej: [[Model efemerycznych agentów]] | [[Cykl życia AgentRun]]
|
|
|
|
---
|
|
|
|
Powiązane: [[Deployment]] | [[Model efemerycznych agentów]] | [[Pod]]
|