Kubernetes volumeMount:可以创建/删除但不能读取/写入文件

Kubernetes volumeMount:可以创建/删除但不能读取/写入文件

我们在某个部署的某个 volumeMount 中遇到了奇怪的问题。以下是相关清单的片段:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: xxx-media-pv-resource-claim
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: cephfs
...
apiVersion: extensions/v1beta1
kind: Deployment
...
        volumeMounts:
        - mountPath: /opt/media/logs
          name: xxx-media-log-storage
        - mountPath: /shared-media-files
          name: xxx-media-resource-storage
...
      volumes:
      - name: xxx-media-log-storage
        persistentVolumeClaim:
          claimName: xxx-media-pv-log-claim
      - name: xxx-media-resource-storage
        persistentVolumeClaim:
          claimName: xxx-media-pv-resource-claim
...

我们尝试执行 cat/echo from/to files 等操作时,会收到读/写错误:“操作不允许”,尽管/shared-media-files:a) 可以成功 touch/mkdir/chmod/rm 那里;b) 可以执行所有操作,/opt/media/logs其中由相同的 PVC 备份(名称除外)。Cephfs storageclass 和相应的 Ceph 集群是整个 k8s 集群的存储,所有使用它的 k8s 实体的xxx-media-resource-storage行为均符合预期。

k8s master:v1.14.1
k8s worker:v1.16.0
cephfs-provisioner:v2.1.0-k8s1.11
Ceph:14.2.1

我们检查了所有显而易见的东西,比如 Ceph 集群健康、可用存储空间、文件权限和 ACL、挂载模式、PV/PVC 描述、日志,但没有发现任何特殊情况。由于xxx-media-pv-resource-claimPVC 访问模式是 RWX,我们尝试将其与另一个测试 pod 一起使用,但得到了相同的错误。我们也尝试在 Google 上搜索这个问题,但没有成功。

请帮助解决该问题。

答案1

不支持以下情况:

k8s master: v1.14.1 
k8s workers: v1.16.0

https://kubernetes.io/releases/version-skew-policy/

相关内容