首页 > 解决方案 > Kubernetes - 在 pvc "volumeMode: Block" 中指定时不调用 NodePublishVolume

问题描述

我正在研究 CSI 驱动程序,需要支持块卷(除了我们已经拥有的文件系统)

指定volumeMode: BlockNodeStageVolume 时,不调用 NodePublishVolume。

删除volumeMode: Block并在 POD 中将 volumeDevices 条目更改为 volumeMounts 时,它工作正常

PV 描述 VolumeMode: Block added featuregates BlockVolume=true,CSIBlockVolume=true in kube-apiserver.yaml

我们使用的是 k8s 1.14

任何想法可能是什么原因或任何建议如何调查(例如,除了节点和控制器之外要查看哪些日志)?

谢谢你

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvcraw67b
spec:
  volumeMode: Block
  storageClassName: sc67b
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
kind: Pod
apiVersion: v1
metadata:
  name: podraw67b
spec:
    containers:
       - name: fc-container
         image: fedora:26
         command: ["/bin/sh", "-c"]
         args: [ "tail -f /dev/null" ]      
         volumeDevices:
              - devicePath: /dev/block
                name: pvcrawvol67b
    volumes:
      - name: pvcrawvol67b
        persistentVolumeClaim:
            claimName: pvcraw67b

标签: kubernetesstorage

解决方案


现场。

kubelet 日志重复出现错误:指定未启用该功能 reconciler.go:248] operationExecutor.MountVolume failed (controllerAttachDetachEnabled true) for volume ... (UniqueName: ...) pod “...” (UID: “...”) : MapVolume.NewBlockVolumeMapper卷“...”(UniqueName:“...”)pod“...”(UID:“...”)初始化失败:CSIBlockVolume 功能未启用


推荐阅读