ECK with Storage Class

Hola,

I'm trying to something a bit novel and use the guides for quickstart and volume templates to get ECK working. The novel part is I'm mounting an SMB share with Azure's Flexvolume SMB driver. I can get the PV setup and a test PVC works just fine, however I'm running into issues getting the quickstart to see the PV to use. I'm hoping I'm just doing something wrong in one of my templates and could be corrected. I've included the relevant PV, Storage Class, and Quickstart yaml files i'm using below. Any help would be greatly appreciated.

Error on PVC created from the yaml:

waiting for a volume to be created, either by external provisioner

PV.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
name: k8s-sofs-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: flexvolume-smb-k8s-sofs
flexVolume:
driver: "microsoft.com/smb"
secretRef:
name: smbcreds
options:
source: "//k8s-sofs.lab.nerbelir.com/k8s-pv-elk"
mountoptions: "vers=3.0,dir_mode=0777,file_mode=0777"

StorageClass.yaml

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: flexvolume-smb-k8s-sofs
provisioner: k8s-sofs.lab.nerbelir.com/k8s-pv-elk
mountOptions:

  • vers=3.0
  • dir_mode=0777
  • file_mode=0777
    reclaimPolicy: Retain
    allowVolumeExpansion: true

elastic-quickstart.yaml

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.5.2
nodeSets:

  • name: default
    count: 1
    config:
    node.master: true
    node.data: true
    node.ingest: true
    node.store.allow_mmap: false
    volumeClaimTemplates:
    • metadata:
      name: elasticsearch-data
      spec:
      accessModes:
      • ReadWriteOnce
        resources:
        requests:
        storage: 5Gi
        storageClassName: flexvolume-smb-k8s-sofs

So I've poked around with this a bit more. I'm using this flexvolume driver since it works to mount smb shares:

The issue I think I have is that there is no provisioner for this storageclass/driver combo. I determined this by modifying the elastic-cluster.yaml file to specify a volume under the volumeClaimTemplates. Is anyone familiar with getting SMB shares to work another way or have some resources for creating a provisioner?