繁体   English   中英

无法删除已挂载的 Azure 文件共享中 K8s 容器内的文件

[英]Cannot delete files inside K8s container within mounted Azure File Share

删除容器内的文件时出现问题。 这是我通过 kubectl 执行的命令:

kubectl exec mypod-7ddbbb6c87-cwl76 -- ls -lat /usr/bin/myprogram/logs
-rwxrwxrwx 1 1000 1000   186446 Oct 22 12:59 mylogfile.log

kubectl exec mypod-7ddbbb6c87-cwl76 -- find /usr/bin/myprogram/logs -type f -mtime +14 -delete
find: cannot delete '/usr/bin/myprogram/logs/mylogfile.log': No such file or directory

我不明白是什么问题?

此目录 /usr/bin/myprogram/logs 是 Azure 文件共享的卷挂载。 这个 AzureFileShare 用于多个部署\\pods 因此 PV 是 ReadWriteMany 这里是我的 Yaml 配置的一部分

    kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: mypod-logs
provisioner: kubernetes.io/azure-file
reclaimPolicy: Retain
allowVolumeExpansion: true
parameters:
  skuName: Standard_LRS
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mypod-logs
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  storageClassName: mypod-logs
  azureFile:
    secretName: '#{AzureFileShareSecretName}'
    shareName: mypod-logs
    readOnly: false
  mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
  - mfsymlinks
  - nobrl
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypod-logs
spec:
  accessModes:
  - ReadWriteMany
  storageClassName: mypod-logs
  resources:
    requests:
      storage: 5Gi
---
volumeMounts:
    - readOnly: false
      mountPath: /usr/bin/myprogram/logs
      name: mypod-logs
volumes:
    - name: mypod-logs
    persistentVolumeClaim:
      claimName: mypod-logs

正如下面的屏幕截图所示,我这边一切正常:

在此处输入图片说明

但我之前遇到过同样的问题。 您可以尝试像这样执行命令:

kubectl exec mypod-7ddbbb6c87-cwl76 -- bash -c "find /usr/bin/myprogram/logs -type f -mtime +14 -delete"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM