Quick Start
Deploy the CSI driver and mount a volume in minutes.
Prerequisites
- Kubernetes 1.20+
- kubectl configured
- FUSE support on nodes
1. Deploy the Driver
kubectl apply -k deploy/This installs:
- CSI Controller (StatefulSet)
- CSI Node Driver (DaemonSet)
- RBAC permissions
- CSIDriver CRD
2. Create Storage Secret
apiVersion: v1
kind: Secret
metadata:
name: rclone-secret
namespace: default
type: Opaque
stringData:
remote: "s3"
remotePath: "my-bucket"
configData: |
[s3]
type = s3
provider = AWS
access_key_id = YOUR_ACCESS_KEY_ID
secret_access_key = YOUR_SECRET_ACCESS_KEY
region = us-east-13. Create StorageClass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: rclone-csi
provisioner: rclone.csi.veloxpack.io
parameters:
remote: "s3"
remotePath: "my-bucket"
csi.storage.k8s.io/node-publish-secret-name: "rclone-secret"
csi.storage.k8s.io/node-publish-secret-namespace: "default"
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true4. Create PVC and Pod
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-rclone
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: rclone-csi
---
apiVersion: v1
kind: Pod
metadata:
name: nginx-rclone
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: pvc-rclone5. Verify Installation
# Check driver pods
kubectl get pods -n veloxpack -l app=csi-rclone-controller
kubectl get pods -n veloxpack -l app=csi-rclone-node
# Check CSIDriver
kubectl get csidriver rclone.csi.veloxpack.io
# Check PVC status
kubectl get pvc pvc-rclone
# Test mount
kubectl exec nginx-rclone -- ls -la /dataHow is this guide?