diff --git a/docs/kubernetes/how-to-import-volumes.md b/docs/kubernetes/how-to-import-volumes.md new file mode 100644 index 00000000..d0ec542e --- /dev/null +++ b/docs/kubernetes/how-to-import-volumes.md @@ -0,0 +1,59 @@ +# How to import volumes + +This guide explains how to import an existing Hetzner Volume into your Kubernetes cluster with the csi-driver installed. + +1. Detach your volume by running: + +```bash +hcloud volume detach +``` + +2. Find the ID of your volume by running: + +```bash +hcloud volume describe +``` + +3. Create a new `PersistentVolume` and insert the volume ID into the `` and your volume location into ``. This ensures that the topology constraints are set up correctly. + +```yaml +apiVersion: v1 +kind: PersistentVolume +metadata: + name: imported-data +spec: + storageClassName: hcloud-volumes + capacity: + storage: 10Gi + accessModes: + - ReadWriteOnce + csi: + fsType: ext4 + driver: csi.hetzner.cloud + volumeHandle: "" + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: csi.hetzner.cloud/location + operator: In + values: + - +``` + +4. Create a new `PersistentVolumeClaim` and link it to the `PersistentVolume` via `volumeName`: + +```yaml +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: imported-data +spec: + storageClassName: hcloud-volumes + volumeName: imported-data # <-- reference PV name + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi +```