You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: charts/dagu/README.md
+60-8Lines changed: 60 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ The chart deploys four components:
34
34
35
35
-**Coordinator**: gRPC server for distributed task execution (port 50055)
36
36
-**Scheduler**: Manages DAG execution schedules (port 8090 for health)
37
-
-**Worker**: Executes DAG steps (2 replicas by default)
37
+
-**Worker**: Executes DAG steps (configurable pools with independent replicas)
38
38
-**UI**: Web interface for managing DAGs (port 8080)
39
39
40
40
All components share a single PersistentVolumeClaim with `ReadWriteMany` access mode.
@@ -56,7 +56,57 @@ For local single-node clusters that don't support RWX:
56
56
helm install dagu charts/dagu \
57
57
--set persistence.accessMode=ReadWriteOnce \
58
58
--set persistence.skipValidation=true \
59
-
--set worker.replicas=1
59
+
--set workerPools.general.replicas=1
60
+
```
61
+
62
+
### Worker Pools
63
+
64
+
Workers are organized into pools. Each pool creates a separate Kubernetes Deployment with its own replicas, labels, resources, and scheduling constraints. DAGs select workers via `workerSelector` labels that match a pool's labels.
65
+
66
+
```yaml
67
+
workerPools:
68
+
general:
69
+
replicas: 2
70
+
labels: {}
71
+
resources:
72
+
requests:
73
+
memory: "128Mi"
74
+
cpu: "100m"
75
+
limits:
76
+
memory: "256Mi"
77
+
cpu: "200m"
78
+
nodeSelector: {}
79
+
tolerations: []
80
+
affinity: {}
81
+
82
+
gpu:
83
+
replicas: 1
84
+
labels:
85
+
gpu: "true"
86
+
resources:
87
+
requests:
88
+
memory: "512Mi"
89
+
cpu: "500m"
90
+
nvidia.com/gpu: "1"
91
+
limits:
92
+
memory: "1Gi"
93
+
cpu: "1000m"
94
+
nvidia.com/gpu: "1"
95
+
nodeSelector:
96
+
nvidia.com/gpu.present: "true"
97
+
tolerations:
98
+
- key: nvidia.com/gpu
99
+
operator: Exists
100
+
effect: NoSchedule
101
+
affinity: {}
102
+
```
103
+
104
+
A pool with `labels: {}` (like `general` above) matches any DAG that has no `workerSelector`. To route a DAG to a specific pool, set `workerSelector` in the DAG definition to match the pool's labels:
0 commit comments