在 Kubernetes 中扩展 VMware 持久卷

在 Kubernetes 中扩展 VMware 持久卷

如何使用 Kubernetes 的 VMware 内树驱动程序扩展 VMware 持久卷(PV/PVC)?

(使用 Rancher 2.5 与 VMware/vSphere 云提供商以及 Kubernetes 1.18)

我创建了一个具有以下 UI 选项的存储类:提供商:VMWare vSphere Volume允许卷扩展:已启用。(我不得不重新编辑 SC 并再次单击“允许卷扩展:已启用”)

我创建了一个 PVC,启动了我的 pod,然后停止了 pod。然后我使用“调整大小”UI 来增加卷大小(在 Rancher > Cluster x > Project y > Resource > Workload > Volumes > menu button > Resize)卷现在具有:spec.resources.requests.storage: 20Gistatus.capacity.storage: 10Gi(参见下面的 yaml)

但我在事件中收到错误:

ExternalExpanding   Ignoring the PVC: didn't find a plugin capable of expanding the volume; waiting for an external controller to process this PVC.

容量扩展似乎需要外部调整器Kubernetes CSISidecar 容器


存储类别为:

#kubectl get storageclass -o yaml testsc 
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: testsc 
parameters:
  datastore: TESTDS
  diskformat: thin
provisioner: kubernetes.io/vsphere-volume
reclaimPolicy: Delete

PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/vsphere-volume
    volume.kubernetes.io/selected-node: testnode1
  finalizers:
  - kubernetes.io/pvc-protection
  name: testpvc
  namespace: test
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  storageClassName: testsc
  volumeMode: Filesystem
  volumeName: pvc-31d5f008-724a-4da3-b7ab-9bd2c067753e
status:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 10Gi
  phase: Bound

答案1

Kubernetes 内嵌驱动程序似乎已被弃用,取而代之的是外部 CSI“司机”. 仅有少数 in-tree 驱动程序支持 体积膨胀,vsphere/vmware 没有列出。此外,

配置完成后如何调整动态卷的大小?

尚不支持调整现有动态卷的大小。有提案可用这里。vSphere Cloud Provider 不支持调整卷大小。请跟踪此问题

扩展卷可能需要使用 CSI 驱动程序而不是 Kubernetes 的树内 Vsphere 驱动程序。

Rancher 现在记录如何迁移vsphere 卷迁移

PS Vmware 的 Kubernetes Tanzu 似乎允许扩展持久卷文档... 可能在 VSAN 上,因为 bug70616状态:VMware vSphere VMFS 文件系统尚不支持 PVC 大小调整。

相关内容