【问题标题】:Disk created from GCP snapshot doesn't resize in kubernetes从 GCP 快照创建的磁盘不会在 kubernetes 中调整大小
【发布时间】:2020-06-26 11:28:44
【问题描述】:

我已经从快照创建了 GCP 的磁盘,现在我正在尝试使用 kubernetes 中的 PVC 调整它的大小:100GB -> 400GB。我已申请:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: restored-resize
parameters:
  type: pd-standard
provisioner: kubernetes.io/gce-pd
allowVolumeExpansion: true
reclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: restored-graphite
spec:
  storageClassName: restored-resize
  capacity:
    storage: 400G
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: dev-restored-graphite
    fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: restored-graphite
spec:
  # It's necessary to specify "" as the storageClassName
  # so that the default storage class won't be used, see
  # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1
  storageClassName: restored-resize
  volumeName: restored-graphite
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 400G

PVC中的状态显示400G:

(...)
status:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 400G
  phase: Bound

但是 pod 挂载了之前的磁盘值:

/dev/sdc                 98.4G     72.8G     25.6G  74% /opt/graphite/storage

我做错了什么?

【问题讨论】:

  • 更换pvc后是否删除了pod?
  • 是的。将它们缩放到 0。

标签: kubernetes google-cloud-platform kubernetes-pvc


【解决方案1】:

在我看来你直接在清单上设置了 400G,但正如手册所说,你应该只编辑

resources:
    requests:
      storage: 400G

https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/

还有那些,触发新条件:FileSystemResizePending

从 Kubernetes v1.11 开始,这些 PVC 将在此状态下一段时间后自动调整大小,因此,您甚至不必重新启动绑定到 pc 的 pod。

但是,再次谈谈您的问题:我会以这种方式编辑清单:

spec:
  storageClassName: restored-resize
  capacity:
    storage: 100G

为了让系统重新加载旧配置并注意到情况并非他想象的那样。 或者至少,这是我会尝试的(在另一个环境中,肯定不是生产环境。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2019-12-09
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多