NFS持久卷声明无限期悬而未决

时间:2018-11-29 23:00:42

标签: kubernetes nfs

创建PVC时出现以下错误,我不知道这意味着什么。

Events:
  Type    Reason             Age              From           Message
  ----    ------             ----             ----           -------
  Normal  ExternalExpanding  1m (x3 over 5m)  volume_expand  Ignoring the PVC: didn't find a plugin capable of expanding the volume; waiting for an external
controller to process this PVC.

我的PV在那里并且似乎还可以。

这是我的PV和PVC的规格。

apiVersion: v1
kind: PersistentVolume
metadata:
  creationTimestamp: null
  finalizers:
  - kubernetes.io/pv-protection
  labels:
    app: projects-service
    app-guid: design-center-projects-service
    asset: service
    chart: design-center-projects-service
    class: projects-service-nfs
    company: mulesoft
    component: projects
    component-asset: projects-service
    heritage: Tiller
    product: design-center
    product-component: design-center-projects
    release: design-center-projects-service
  name: projects-service-nfs
  selfLink: /api/v1/persistentvolumes/projects-service-nfs
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 30Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: projects-service-nfs-block
    namespace: design-center
    resourceVersion: "7932052"
    uid: d114dd38-f411-11e8-b7b1-1230f683f84a
  mountOptions:
  - nfsvers=3
  - hard
  - sync
  nfs:
    path: /
    server: 1.1.1.1
  persistentVolumeReclaimPolicy: Retain
  volumeMode: Block
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  creationTimestamp: null
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app: projects-service
    app-guid: design-center-projects-service
    asset: service
    chart: design-center-projects-service
    company: mulesoft
    component: projects
    component-asset: projects-service
    example: test
    heritage: Tiller
    product: design-center
    product-component: design-center-projects
    release: design-center-projects-service
  name: projects-service-nfs-block
  selfLink: /api/v1/namespaces/design-center/persistentvolumeclaims/projects-service-nfs-block
spec:
  accessModes:
  - ReadWriteOnce
  dataSource: null
  resources:
    requests:
      storage: 20Gi
  selector:
    matchLabels:
      class: projects-service-nfs
  storageClassName: ""
  volumeMode: Block
  volumeName: projects-service-nfs

版本:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-08T16:31:10Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}

1 个答案:

答案 0 :(得分:1)

在某个时候看起来像您updated/expanded the PVC?正在呼叫:

func (expc *expandController) pvcUpdate(oldObj, newObj interface{})
...

该函数正在尝试查找要扩展的插件,而无法通过以下方式找到它:

volumePlugin, err := expc.volumePluginMgr.FindExpandablePluginBySpec(volumeSpec)
if err != nil || volumePlugin == nil {
    err = fmt.Errorf("didn't find a plugin capable of expanding the volume; " +
        "waiting for an external controller to process this PVC")
    ...
    return
}

如果您看到此document,则表明以下卷类型通过树内插件支持PVC扩展:AWS-EBS,GCE-PD,Azure Disk,Azure File,Glusterfs,Cinder,Portworx和Ceph RBD。所以NFS并不是其中之一,这就是为什么您看到此事件。看起来将来可能会支持它,或者自定义插件也可能会支持它。

如果您尚未更新PVC,我建议使用与here

中所述的相同容量的PV和PVC