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