Note
|
A Kubernetes administrator must set up Kubernetes persistent volumes (PVs) and Persistent Volume Claims (PVCs). |
Domino runs on a Kubernetes cluster and EDVs must be backed by an underlying Kubernetes Persistent Volume (PV).
That persistent volume must be bound to a
Persistent Volume Claim (PVC) that must be labeled with a key dominodatalab.com/external-data-volume
.
The value of that key represents the type of external data volume.
The supported types are NFS
, SMB
,
EFS
, and Generic
.
The Generic
type lets you attach your own volumes to Domino that you must deploy and maintain in your environment.
Finally, the PVC must be created in the Domino compute namespace.
The following are example yaml
files for creating PVs and PVCs for each of the supported EDV types.
Note
|
Adjust the Domino compute namespace and PVC names before using the examples. |
The following is a simple static provisioning example that you can use to create the required PV and PVC. You can provision the PV that refers to the NFS share to expose in Domino using any mechanism appropriate for their environment.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
labels:
"dominodatalab.com/external-data-volume": "NFS"
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
volumeName: pv-nfs
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
capacity:
storage: 30Gi
# Optionally explicitly specify a reference to the PVC that will be using this PV
# Name and namespace must match the PVC created
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: pvc-nfs
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
persistentVolumeReclaimPolicy: Retain
nfs:
path: /mnt/export
server: 10.0.0.26
The following is a simple static provisioning example that you can use to create the required PV and PVC. For more detailed information, see the EFS CSI documentation. You can only use the configuration options supported by the EFS CSI driver.
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-efs
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
capacity:
storage: 30Gi
# Optionally explicitly specify a reference to the PVC that will be using this PV
# Name and namespace must match the PVC created
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: pvc-efs
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
persistentVolumeReclaimPolicy: Retain
csi:
driver: efs.csi.aws.com
volumeHandle: <EFS file system id>:/<path> #the path within the file system is optional
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-efs
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE
labels:
"dominodatalab.com/external-data-volume": "EFS"
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
volumeName: pv-efs
----
SMB PV/PVC example
Note
| The Server Message Block protocol (SMB) driver is disabled by default. If you want to use an external data volume that is backed by an SMB persistent volume, add the following to your installer configuration and then run the installer: |
+
release_overrides:
csi-driver-smb:
installed: true
The following is a simple static provisioning example that you can use to create the required PV and PVC. For more detailed information, see the SMB CSI documentation. You can only use the configuration options supported by the SMB CSI driver.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-smb
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE
labels:
"dominodatalab.com/external-data-volume": "SMB"
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-smb
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
capacity:
storage: 100Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: pvc-smb
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
persistentVolumeReclaimPolicy: Retain
csi:
driver: smb.csi.k8s.io
nodeStageSecretRef:
name: SMB-SECRET-NAME
namespace: NAMESPACE-OF-SMB-SECRET
volumeAttributes:
source: //10.0.0.11/Share #SMB server address and path
volumeHandle: volume-handle-unique # must be unique id for the cluster
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
Generic PV/PVC example
The following is a simple static provisioning example that you can use to create a required generic PV and PVC with the EDV type as Generic. Registered EDVs are available to add to projects and will be mounted to executions.
You must configure the PV based on the documentation available for the system that you are using.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: generic-EDV
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
labels:
"dominodatalab.com/external-data-volume": "Generic"
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
volumeName: generic-EDV
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: generic-EDV
spec:
storageClassName: ""
accessModes:
- ReadWriteMany
capacity:
storage: 30Gi
# Optionally explicitly specify a reference to the generic EDV that will be using this generic EDV
# Name and namespace must match the generic EDV created
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: generic-EDV
namespace: YOUR-DOMINO-COMPUTE-NAMESPACE #change for your deployment
persistentVolumeReclaimPolicy: Retain
nfs:
path: /mnt/export
server: 10.0.0.26
All properly labeled PVCs will be available candidates to register in the Domino External Data Volumes page.