Hi everyone,
I'm trying to develop a CSI driver for our proprietary storage system. The intention is to use it for pods to mount a filesystem that attaches to some existing back end storage. I'm using a CSI Ephemeral volume for this, so I didn't implement the controller interface at all, but did implement Identity and Node and am using the sidecars for node-driver-registrar and liveness-probe.
I modelled the code on the existing NFS driver with some changes. I can successfully register and run the driver, and "kubectl get csidriver" shows the driver correctly with the name, e.g. "
x.y.com". Also the pod is running correctly and the logs show that the registrar has the correct name is listening for connections.
However, when I try to bring up a pod using the driver I get an error - MountVolume.SetUp failed for volume "view" :
kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name
x.y.com not found in the list of registered CSI drivers.
My pod descriptor looks like this:
apiVersion: v1
kind: Pod
metadata:
name: some-pod
spec:
containers:
- name: fs-test
image: alpine:latest
volumeMounts:
- name: view
mountPath: /mnt
volumes:
- name: view
csi:
# Passed as NodePublishVolumeRequest.volume_context,
# valid options depend on the driver.
volumeAttributes:
server: myservice.svc
I also tried this with the NFS driver, but changed the manifest to say Ephemeral instead of Persistent, and I get a similar error when I try to use that one.
Any help would be very much appreciated, or if I'm missing required information I'd be happy to provide that.
Thanks in advance,
Paul