Closed thomasdbaker closed 5 years ago
I think you may have a configuration off a little bit. Can you send over the storage class definition you used?
I think you may have a configuration off a little bit. Can you send over the storage class definition you used?
That would be great if that was the case. I tried it both ways and went back to default other than the datasetParentName and changing the mountOptions from an Object to an Array. You can see the values that I used below.
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: freenas-nfs
provisioner: freenas.org/nfs allowVolumeExpansion: true reclaimPolicy: Delete mountOptions: [] parameters:
datasetParentName: "mnt/k8spool03"
Do you have a full pool you want to dedicate to this? k8spool03
?
Yes that is correct.
Do you have a full pool you want to dedicate to this?
k8spool03
?
Ok, remove the mnt/
portion from the datasetParentName
parameter.
I would recommend creating at least one level of dataset however instead of using the root pool dataset. For example create k8spool03/<cluster name>
and set the parameter as appropriate as well.
Also you may want to delete the pcv and cleanup any resources on FreeNAS before as well (basically start over). I don't think you'll have anything created at this point but doesn't hurt to be sure (would only be a child dataset and the nfs share).
Ok, remove the
mnt/
portion from thedatasetParentName
parameter.I would recommend creating at least one level of dataset however instead of using the root pool dataset. For example create
k8spool03/<cluster name>
and set the parameter as appropriate as well.Also you may want to delete the pcv and cleanup any resources on FreeNAS before as well (basically start over). I don't think you'll have anything created at this point but doesn't hurt to be sure (would only be a child dataset and the nfs share).
You are a Genius! that was the Key! Thank you very much!
freenas-test-pvc Bound pvc-0a057f09-9cc5-4f0a-b108-a07dc28e4e2a 1Mi RWX freenas-nfs 68s
Nice! Thanks for checking it out! The iscsi variant is available here if you have need for use cases where block is a better fit (again, I highly recommend creating a child dataset before going much further so you can have a single pool better service multiple clusters and multiple providers).
I've also been working on a new csi
driver to replace both projects with 'the future' as it were. It'll support resize operations, snapshots, etc, etc. I made a bunch of progress and got derailed a bit.
For dataset naming I'd do something like: k8spool03/a/nfs
and k8spool03/a/iscsi
. For this project you'd set datasetParentName
to the first and for the iscsi one the second. Then for cluster b
replace a
.
Setting up a monster Lab and would love to get this working. I have the managed-nfs-storage working but that seems to proxy an export vs interact with the API.
Normal Provisioning 4s (x2 over 19s) freenas.org/nfs_freenas-nfs-provisioner-5746757fdd-cj9kg_10e56dd8-f801-11e9-b9dd-62478df8baf0 External provisioner is provisioning volume for claim "default/freenas-test-pvc" Warning ProvisioningFailed 4s (x2 over 19s) freenas.org/nfs_freenas-nfs-provisioner-5746757fdd-cj9kg_10e56dd8-f801-11e9-b9dd-62478df8baf0 failed to provision volume with StorageClass "freenas-nfs": Error getting dataset "mnt/k8spool03" - message: {"error_message":"Sorry, this request could not be processed. Please try again later."}, status: 404 Normal ExternalProvisioning 3s (x3 over 19s) persistentvolume-controller waiting for a volume to be created, either by external provisioner "freenas.org/nfs" or manually created by system administrator
Here is what I see when calling the API manually.
{ "avail": 101417787392, "id": 109, "mountpoint": "/mnt/k8spool03", "name": "k8spool03", "path": "k8spool03", "status": "-", "type": "dataset", "used": 421888, "used_pct": 0 }
FreeNas version: FreeNAS-11.2-U6