Configuring assets
Learn about configuring access to NiFi assets.
You can make NiFi assets, like configuration files available to your NiFi cluster using the
assets field. This field allows you to specify a mount path within the
NiFi Pods to which the provided pre-existing Persistent Volume Claim (PVC) is mounted. Cloudera Flow Management - Kubernetes Operator does not provide a method of loading assets into this
volume. Using the example below, all files located in the volume associated with
my-nifi-assets-volume-claim
are accessible at the path
/opt/nifi/nifi-assets/
for use within your flow.
Before you can start using assets with NiFi deployed through Cloudera Flow Management - Kubernetes Operator, you have to provide the following:
- A volume provisioner which supports creating volumes that are ReadWriteMany (RWX), for example nfs-provisioner.
- A pod running some kind of software or process (for example, an FTP server) attached to the RWX volume for loading files onto the volume. Alternatively, you can use the kubectl cp command to directly copy files into most containers, such as Ubuntu.
After meeting the above prerequisites, you need to create a Persistent Volume Claim (PVC) which creates the required RWX volume. For example:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nifi-assets
spec:
storageClassName: [***STORAGE CLASS***]
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
where [***STORAGE CLASS***] refers to the Storage Class associated with the RWX volume provisioner.
With the PVC created and the PV provisioned, attach the pod you have created, expose the pod via Ingress or Service if required, and load the asset files.
spec:
assets:
mountPath: [***ASSETS PATH***]
persistentVolumeClaim:
name: nifi-assets
where [***ASSETS PATH***] is the filesystem path within the NiFi container where the assets are located, for example, /opt/nifi/assets.