Deploy a Persistent Volume for JDBC Drivers
The platform data plane requires a persistent volume (PV), deployed in the cluster, to hold JDBC drivers for use by the data plane. The persistent volume must have the following directory structure:
├─shared/ └── jdbc-drivers/ └── 1..n JDBC Driver JAR files ├─data-agent └── EMPTY ├── dynamic-proxy └── EMPTY
If you are using Google BigQuery, unzip its JDBC driver .zip file, and copy the contents (.jar file and library files) into a directory within the /jdbc-drivers/
directory.
This persistent volume can be delivered using a method most convenient for your specific Kubernetes environment, such as using EFS volumes in AWS.
A persistent volume for the JDBC drivers should be delivered by creating a mountable storage instance, populating it with the above directory structure, and then registering a persistent volume in the cluster. This is typically done using Kubernetes manifest files, deployed using kubectl
. You must also register a persistent volume claim (PVC). Put the PVC in your data plane configuration YAML file during deployment.
This example persistent volume and PVC mounts an AWS EFS volume containing the directory structure above, as well as the relevant JDBC drivers:
--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: data-plane-config-storage-class provisioner: efs.csi.aws.com --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data-plane-config-pvc spec: storageClassName: data-plane-config-storage-class accessModes: - ReadWriteMany volumeName: data-plane-config-pv resources: requests: storage: 1Gi --- apiVersion: v1 kind: PersistentVolume metadata: name: data-plane-config-pv spec: accessModes: - ReadWriteMany capacity: storage: 5Gi csi: driver: efs.csi.aws.com volumeHandle: [EFS ID] persistentVolumeReclaimPolicy: Retain storageClassName: data-plane-config-storage-class volumeMode: Filesystem