Installation and deployment
This page describes how to install the HDFS CSI driver on Kubernetes using Helm. You can use published images or build and push your own image.
Prerequisites:
- Helm 3.x and kubectl configured
- Access to a container registry if you publish a custom image
- Known HDFS settings (URL, user) and Kerberos artifacts if applicable (service principal and keytab)
- Optional: build the Docker image
If you want to build from sources:
docker build -t <your-registry>/hdfs-csi-plugin:latest .
docker push <your-registry>/hdfs-csi-plugin:latest
- Prepare your Helm values
Create a custom values file (e.g., values.override.yaml):
hdfs:
url: "hdfs://namenode:8020"
user: "hdfs_csi"
image:
repository: <your-registry>/hdfs-csi-plugin
tag: latest
- Install
From the repository root (where the chart is located):
helm upgrade --install hdfs-csi-plugin ./hdfs-csi-plugin -n default -f values.override.yaml
Resources deployed (depending on the chart):
- ConfigMap/Secret for HDFS and Kerberos configuration
- Deployment/DaemonSet for Controller and Node components +- Required CSI sidecars (provisioner, attacher, registrar, liveness)
- Verify
kubectl get pods -n default
kubectl logs deploy/hdfs-csi-plugin -n default --tail=200
- Upgrade
Update your values then run:
helm upgrade hdfs-csi-plugin ./hdfs-csi-plugin -n default -f values.override.yaml
- Rollback
helm history hdfs-csi-plugin -n default
helm rollback hdfs-csi-plugin <REVISION> -n default
- Uninstall
helm uninstall hdfs-csi-plugin -n default
Deployment best practices:
- Use a dedicated namespace (e.g., storage)
- Set CPU/Memory requests and limits on the driver and sidecars
- Version your values files and deploy via CI/CD
- Validate in staging connected to a test HDFS cluster before production