Start a Conversation

Unsolved

J

2 Posts

1963

May 4th, 2020 01:00

vxflexos csi driver for kubernetes with block devices

HI,

I am trying out the csi driver for vxflexos from the github page, and according to that readme I should be able to use block devices.

// Can only be published once as read/write on a single node, at
// any given time.
SINGLE_NODE_WRITER = 1;
// Can be published as read/write at multiple nodes
// simultaneously.
MULTI_NODE_MULTI_WRITER = 5;

 

But when I do, I get the following error

ExitCode:128,Signal:0,Reason:ContainerCannotRun,Message:error gathering device information while adding custom device "/var/lib/kubelet/pods/8067031a-a83a-4f5e-8ac8-48c2ec89db29/volumeDevices/kubernetes.io~csi/k8s-3be9f73946": not a device node


When I check the mounts on that node, it does have the following mount

/var/lib/kubelet/plugins/kubernetes.io/csi/volumeDevices/k8s-3be9f73946/dev/8067031a-a83a-4f5e-8ac8-48c2ec89db29 type ext4 (rw,relatime,seclabel,stripe=64,data=ordered)

 

I am using the following helm template for the pvc.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: {{ include "fullname" . }}
  labels:
    {{- include "labels" . | nindent 4 }}
spec:
  storageClassName: vxflexos
  accessModes:
    - ReadWriteMany
  volumeMode: Block
  resources:
    requests:
      storage: 8Gi

 
Another error that I encountered  is when deleting the pod. It keeps spamming the following messages

csi_util.go:78] kubernetes.io/csi: loading volume data file [/var/lib/kubelet/plugins/kubernetes.io/csi/volumeDevices/k8s-3be9f73946/data/vol_data.json]
csi_plugin.go:676] kubernetes.io/csi: setting up block unmapper for [Spec=k8s-3be9f73946, podUID=8067031a-a83a-4f5e-8ac8-48c2ec89db29]

 Until I manually unmount the volume on that node myself then it continues and finally it is unmapped successfully.

operation_generator.go:1257] UnmapDevice succeeded for volume "k8s-3be9f73946" (UniqueName: "kubernetes.io/csi/csi-vxflexos.dellemc.com^bf8715ec0000000c")

 

46 Posts

May 5th, 2020 15:00

Hi,

ReadWriteMany is not supported according to the Production Guide:

https://github.com/dell/csi-vxflexos

And this link:

https://www.dell.com/community/Containers/Capabilities-of-the-Dell-CSI-drivers/td-p/7539641

 

Can you use ReadWriteOnce?  Also, were you able to run the tests in the Production Guide successfully? 

 

Thanks,
Frank

2 Posts

May 6th, 2020 02:00

Hi,

ReadWriteOnce with volumeMode: Filesystem does work like the test in the guide, but there are no tests/examples with the other modes.

Can you explain me how I should configure the following modes?

Supports the following access modes:
single-node-writer
single-node-reader-only
multi-node-reader-only
multi-node-single-writer

1 Rookie

 • 

72 Posts

May 6th, 2020 11:00

Although there are five access modes for volumes defined in the CSI spec...
https://github.com/container-storage-interface/spec/blob/master/spec.md

// Specify how a volume can be accessed.
message AccessMode {
enum Mode {
UNKNOWN = 0;

// Can only be published once as read/write on a single node, at
// any given time.
SINGLE_NODE_WRITER = 1;

// Can only be published once as readonly on a single node, at
// any given time.
SINGLE_NODE_READER_ONLY = 2;

// Can be published as readonly at multiple nodes simultaneously.
MULTI_NODE_READER_ONLY = 3;

// Can be published at multiple nodes simultaneously. Only one of
// the node can be used as read/write. The rest will be readonly.
MULTI_NODE_SINGLE_WRITER = 4;

// Can be published as read/write at multiple nodes
// simultaneously.
MULTI_NODE_MULTI_WRITER = 5;
}

It appears in the Kubernetes documentation that only three are supported/available right now for PV/PVC
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

  • ReadWriteOnce -- the volume can be mounted as read-write by a single node
  • ReadOnlyMany -- the volume can be mounted read-only by many nodes
  • ReadWriteMany -- the volume can be mounted as read-write by many nodes

I believe that ReadWriteOnce maps to SINGLE_NODE_WRITER, ReadOnlyMany maps to MULTI_NODE_READER_ONLY, and ReadWriteMany maps to MULTI_NODE_MULTI_WRITER.

46 Posts

May 11th, 2020 15:00

Hi,

Looking at this link, the driver does not yet support block.  I reached out by private message to get further details.

https://www.dell.com/community/Containers/Capabilities-of-the-Dell-CSI-drivers/td-p/7539641/jump-to/first-unread-message

Thanks,
Frank

No Events found!

Top