docker - Kubernetes GCP上的永久磁盘问题

标签 docker kubernetes google-cloud-platform persistent-storage directus

我在GCP的Kubernetes中工作,但在卷和永久磁盘方面遇到问题。

我正在使用Directus 7(CMS Headless),它将除已上传文件之外的大多数信息保存在数据库中,这些文件位于 / var / www / html / public / uploads 文件夹中(已在docker本地测试) -compose并可以正常工作),该文件夹就是我要保存在永久磁盘上的那个文件夹。

没有错误发生,但是当重启Kubernetes Pod时,我丢失了上载的图像(它们没有保存在磁盘上)。

这是我的配置:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: directus-pv
  namespace: default
spec:
  storageClassName: ""
  capacity:
    storage: 100G
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: directus-disk
    fsType: ext4

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: directus-pvc
  namespace: default
  labels:
    app: .....
spec:
  storageClassName: ""
  volumeName: directus-pv
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100G

并在deploy.yaml中:
    volumeMounts:
      - name: api-disk
        mountPath: /var/www/html/public/uploads
        readOnly: false

  volumes:
  - name: api-disk
    persistentVolumeClaim:
      claimName: directus-pvc

谢谢您的帮助

最佳答案

从pv和pvc list 中删除 namespace 属性。它们是集群中的共享资源。
也删除存储类属性。

关于docker - Kubernetes GCP上的永久磁盘问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54715805/

相关文章:

php - 为什么尽管在镜像构建期间通过 "drush"安装了 `composer global install`,但我无法从正在运行的 PHP 脚本中找到该工具?

docker - boot2docker无法在Windows 7上启动

batch-file - 如何使用 .bat 文件运行传递 docker 终端命令

go - 通过client-go在端口转发中升级连接错误

kubernetes - Helm charts vs ansible-playbook vs k8s operator 在系统安装中

google-cloud-platform - Cloud Armor 限速定价

selenium - 在 Jenkins 上运行 Dockerized Selenium Grid

kubernetes - 如何在kubernetes集群中的所有资源上执行资源限制/请求?

python - 从 GCP python 云函数返回错误状态(不是 'ok' 或 'crash' )

Google Speech - 流媒体请求返回 EOF 错误