【问题标题】:K8s local Persistent Volume on Docker Desktop loses data after Docker Desktop restartDocker Desktop 重启后,Docker Desktop 上的 K8s 本地 Persistent Volume 丢失数据
【发布时间】:2021-04-08 02:06:45
【问题描述】:

我在本地 K8s 集群中遇到 PersistentVolume 问题。当我重新启动 PC 或关闭并打开 Desktop Docker 时,我的 PV 中的数据会丢失。

这是我的 PV 配置:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pvolume
  labels:
    name: pvolume
spec:
  storageClassName: manual
  volumeMode: Filesystem
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

是否有可能保留数据而不使用 GCP 卷等外部 PV 提供程序?

解决方案:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pvolume
  labels:
   name: pvolume
spec:
  capacity:
    storage: 3Gi
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: your-local-storage-class-name
  local:
    path: /c/yourDir
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - docker-desktop

【问题讨论】:

标签: docker kubernetes volume docker-desktop persistent-volumes


【解决方案1】:

正如我在评论部分提供的链接中提到的那样 - 阅读更多:docker-desktop-pvdocker-desktop-pv-local - 解决方案/解决方法是使用不同的卷类型。将 hostPath 卷更改为本地。您的 PV yaml 文件应如下所示:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pvolume
  labels:
    name: pvolume
spec:
  storageClassName: manual
  volumeMode: Filesystem
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  local:
    path: /c/yourDirectory

local.path 直接显示您引用 Windows 文件夹的位置,以便您可以在 Windows 计算机上本地连接 PersistentVolume。

  • hostPath- HostPath 卷(仅用于单节点测试;在多节点集群中不起作用;考虑改用local 卷) ...
  • local - 安装在节点上的本地存储设备。

请参阅:types-of-pv

【讨论】:

  • 维克托,是的。 Małgorzata 的链接帮助了我。我用解决方案填写了我的问题。 @Malgorzata nodeAffinitylocal 所必需的。但是,是的,local 是一个答案。
猜你喜欢
  • 1970-01-01
  • 2022-11-25
  • 2023-02-16
  • 2022-12-22
  • 2021-09-03
  • 1970-01-01
  • 2020-04-03
  • 2020-11-02
  • 2021-12-05
相关资源
最近更新 更多