kubernetes - 从 GCP 快照创建的磁盘不会在 kubernetes 中调整大小
问题描述
我已经从快照创建了 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
我究竟做错了什么?
解决方案
对我来说,您似乎直接在清单上设置了 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
为了让系统重新加载旧配置,并注意到情况并不像他想象的那样。或者至少,这就是我会尝试的(在另一个环境中,肯定不是生产。)
推荐阅读
- postgresql - 如何将日期(yyyymmdd)插入参数化的复制语句?(postgreSQL)
- python - 如何将 geom_text 标签放置在 plotnine 中的绘图边界之外
- java - Java方法参数:缓存结果与直接调用
- reactjs - JSX:道具值中另一个表达式内的表达式
- reactjs - 无法使用 useRef 更改音频音量
- php - 是否可以在文件上传之前开始对多部分/表单数据文件上传请求执行 PHP 脚本?
- android - Jetpack Compose:文本字段和 FAB 不使用全宽
- android - FirebaseAuth - 我如何等待价值
- python - 使用.isalpha时如何错误检查用户输入
- css - 如何在奇数行和偶数行之间交替子级数?