PV挂载选项

在向GitHub Action runner 中挂载PV时,遇到Permission Denied报错,报错内容如下:
BaseURL

很明显是挂载PV时权限出现的问题,于是调整PV挂载参数,新增otherOpts:

1
-o allow_other -o umask=022

重新创建pod后,发现显示乱码的问题解决了,目录权限也为预期中的755,只是挂载的属主是root。
由于业务是以普通用户runner运行的,所以还是无法使用。所以需要指定挂载PV时使用的用户。

参考官方文档发现,新增如下参数可以指定PV使用的用户:

1
-o allow_other -o umask=022 -o uid=1000 -o gid=1000
  • Note:普通用户runner的UID为1000

最终的PV 配置参考(注意第28行的配置):

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
35
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/bound-by-controller: "yes"
finalizers:
- kubernetes.io/pv-protection
labels:
alicloud-pvname: actions-runner-system-pvc-action-runners-dependence
name: actions-runner-system-pvc-action-runners-dependence
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 20Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: action-runners-dependence
namespace: actions-runner-system
csi:
driver: ossplugin.csi.alibabacloud.com
nodePublishSecretRef:
name: pvc-test
namespace: actions-runner-system
volumeAttributes:
bucket: i***actions-cache
otherOpts: -o allow_other -o umask=022 -o uid=1000 -o gid=1000
url: oss-cn-shanghai-internal.aliyuncs.com
volumeHandle: actions-runner-system-pvc-action-runners-dependence
persistentVolumeReclaimPolicy: Retain
storageClassName: oss
volumeMode: Filesystem
status:
phase: Bound