Skip to content

Commit 6dbd79b

Browse files
authored
doc: add volumeClaimTemplates example (#649)
* doc: add volumeClaimTemplates example * doc: add example in website * doc: fix comments * fix comments
1 parent 2837807 commit 6dbd79b

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: leaderworkerset.x-k8s.io/v1
2+
kind: LeaderWorkerSet
3+
metadata:
4+
name: lws
5+
spec:
6+
replicas: 2
7+
leaderWorkerTemplate:
8+
size: 2
9+
restartPolicy: RecreateGroupOnPodRestart
10+
volumeClaimTemplates:
11+
- metadata:
12+
name: persistent-storage
13+
spec:
14+
storageClassName: default
15+
accessModes: ["ReadWriteOnce"]
16+
resources:
17+
requests:
18+
storage: 10Gi
19+
leaderTemplate:
20+
metadata:
21+
labels:
22+
role: leader
23+
spec:
24+
containers:
25+
- name: leader
26+
image: nginx
27+
command:
28+
- "/bin/bash"
29+
- -c
30+
- set -euo pipefail; while true; do echo $(date) >> /mnt/volume/outfile; sleep 1; done
31+
volumeMounts:
32+
- mountPath: /mnt/volume
33+
name: persistent-storage
34+
workerTemplate:
35+
spec:
36+
containers:
37+
- name: worker
38+
image: nginx
39+
command:
40+
- "/bin/bash"
41+
- -c
42+
- set -euo pipefail; while true; do echo $(date) >> /mnt/volume/outfile; sleep 1; done
43+
volumeMounts:
44+
- mountPath: /mnt/volume
45+
name: persistent-storage
46+
---
47+
apiVersion: v1
48+
kind: Service
49+
metadata:
50+
name: lws-leader
51+
spec:
52+
ports:
53+
- name: http
54+
port: 8080
55+
protocol: TCP
56+
targetPort: 8080
57+
selector:
58+
leaderworkerset.sigs.k8s.io/name: lws
59+
role: leader
60+
type: ClusterIP

site/content/en/docs/concepts/_index.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,43 @@ spec:
119119
subGroupSize: 2
120120
size: 4
121121
```
122+
123+
## Volume Claim Templates support
124+
LWS supports the use of `volumeClaimTemplates` for leader and worker pods, allowing the incorporation of storage class in `volumeClaimTemplates` to create persistent volumes in leader and worker pods. Below is an example demonstrating how to utilize `volumeClaimTemplates` in LWS.
125+
126+
```yaml
127+
apiVersion: leaderworkerset.x-k8s.io/v1
128+
kind: LeaderWorkerSet
129+
metadata:
130+
name: lws
131+
spec:
132+
replicas: 2
133+
leaderWorkerTemplate:
134+
...
135+
volumeClaimTemplates:
136+
- metadata:
137+
name: persistent-storage
138+
spec:
139+
storageClassName: default
140+
accessModes: ["ReadWriteOnce"]
141+
resources:
142+
requests:
143+
storage: 100Gi
144+
leaderTemplate:
145+
...
146+
spec:
147+
containers:
148+
- name: leader
149+
...
150+
volumeMounts:
151+
- mountPath: /mnt/volume
152+
name: persistent-storage
153+
workerTemplate:
154+
spec:
155+
containers:
156+
- name: worker
157+
...
158+
volumeMounts:
159+
- mountPath: /mnt/volume
160+
name: persistent-storage
161+
```

0 commit comments

Comments
 (0)