when you Trying to run the default Jenkins image (or jenkinsci/jenkins) with a persistent volume mounted (nfs) to /var/jenkins_home will currently fail:
root@k8smaster-01:/etc/kubernetes# kubectl logs jenkins-7786b4f8b6-cqf6q touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
Above error can be fixed by adding securityContext in Jenkins Deployment.
apiVersion: v1 kind: Service metadata: name: jenkins spec: type: NodePort ports: - port: 8080 targetPort: 8080 selector: app: jenkins --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: jenkins spec: replicas: 1 template: metadata: labels: app: jenkins spec: securityContext: fsGroup: 1000 runAsUser: 0 containers: - name: jenkins image: jaganthoutam/jenkins:2.0 ports: - name: httpport containerPort: 8080 - name: jnlpport containerPort: 50000 volumeMounts: - name: nfs-jenkins mountPath: "/var/jenkins_home" volumes: - name: nfs-jenkins persistentVolumeClaim: claimName: nfs-jenkins --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-jenkins spec: accessModes: - ReadWriteMany resources: requests: storage: 20Gi --- apiVersion: v1 kind: PersistentVolume metadata: name: nfs-jenkins spec: capacity: storage: 20Gi accessModes: - ReadWriteMany nfs: server: nfs01.thoutam.loc # Exported path of your NFS server path: "/mnt/jenkins"