Create Local Storage
Since this is a test cluster, we can directly use local volume storage here.
As the Jenkins server runs under the jenkins user with UID 1000, we need to pre-assign permissions for /opt/jenkins_agent/ and /opt/jenkins_maven/ on node01:
Copy
1
2
chown 1000.1000 -R /opt/jenkins_agent/
chown 1000.1000 -R /opt/jenkins_maven/
Local Storage: agent-pv-pvc.yaml
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
apiVersion : v1
kind : PersistentVolume
metadata :
name : jenkins-agent-pv
spec :
storageClassName : local # Local PV
capacity :
storage : 30Gi
volumeMode : Filesystem
accessModes :
- ReadWriteOnce
local :
path : /opt/jenkins_agent
nodeAffinity :
required :
nodeSelectorTerms :
- matchExpressions :
- key : kubernetes.io/hostname
operator : In
values :
- node01
---
apiVersion : v1
kind : PersistentVolumeClaim
metadata :
name : jenkins-agent-pvc
namespace : kube-ops
spec :
storageClassName : local
accessModes :
- ReadWriteOnce
resources :
requests :
storage : 30Gi
Local Storage: maven-pv-pvc.yaml
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
apiVersion : v1
kind : PersistentVolume
metadata :
name : jenkins-maven-pv
spec :
storageClassName : local # Local PV
capacity :
storage : 30Gi
volumeMode : Filesystem
accessModes :
- ReadWriteOnce
local :
path : /opt/jenkins_maven
nodeAffinity :
required :
nodeSelectorTerms :
- matchExpressions :
- key : kubernetes.io/hostname
operator : In
values :
- node01
---
apiVersion : v1
kind : PersistentVolumeClaim
metadata :
name : jenkins-maven-pvc
namespace : kube-ops
spec :
storageClassName : local
accessModes :
- ReadWriteOnce
resources :
requests :
storage : 30Gi
Create PV and PVC Resources
Copy
1
2
3
4
5
6
7
# kubectl apply -f agent-pv-pvc.yaml
persistentvolume/jenkins-agent-pv created
persistentvolumeclaim/jenkins-agent-pvc created
# kubectl apply -f maven-pv-pvc.yaml
persistentvolume/jenkins-maven-pv created
persistentvolumeclaim/jenkins-maven-pvc created