How to Configure Connection-Specific Persistent Volume Claims (PVCs)?
Question
How to configure connection-specific Persistent Volume Claims (PVCs)?
Environment
Container platform: Kubernetes
Answer
You can configure PVCs for individual connections while keeping a default PVC for all others. This approach is helpful when connections have different storage requirements or need to use different storage classes.
To configure connection-specific PVCs, add the connector_pvc_integrations_<CONNECTOR_ID> property to the config section of your Helm values.yaml file. Replace <CONNECTOR_ID> with the actual ID of your connection.
Configuration
In your values.yaml file, define both the default PVC and any connection-specific PVCs:
config:
namespace: YOUR_NAMESPACE_HERE
data_volume_pvc: my-default-pvc
connector_pvc_integrations_connector_id: my-connector1-pvc
token: YOUR_TOKEN_HERE
agent:
image: "us-docker.pkg.dev/prod-eng-fivetran-ldp/public-docker-us/ldp-agent:production"
image_pull_policy: "Always"
How it works
- Default behavior: All connections use the PVC specified in
data_volume_pvc(for example,my-default-pvc). - Connection-specific override: If you define a
connector_pvc_integrations_<CONNECTOR_ID>value, jobs for that connector use the specified PVC instead of the default. - Multiple connections: You can override the PVC for multiple connectors by adding additional
connector_pvc_integrations_<CONNECTOR_ID>properties.
Example: Multiple Connection-Specific PVCs
config:
namespace: default
token: YOUR_TOKEN_HERE
data_volume_pvc: standard-storage-pvc
connector_pvc_integrations_demo_connector1: my-connector1-pvc
connector_pvc_integrations_demo_connector2: my-connector2-pvc
connector_pvc_integrations_demo_connector3: my-connector3-pvc
agent:
image: "us-docker.pkg.dev/prod-eng-fivetran-ldp/public-docker-us/ldp-agent:production"
image_pull_policy: "Always"
In this example:
- The
demo_connector1connection usesmy-connector1-pvc. - The
demo_connector2connection usesmy-connector2-pvc. - The
demo_connector3connection usesmy-connector3-pvc. - All other connections use the default
standard-storage-pvc.
Make sure all specified PVCs exist in your Kubernetes cluster and are configured with the appropriate access modes. For Hybrid Deployment jobs, we recommend using ReadWriteMany.