Skip to main content
Version: v0.22.1

gardener-extension-csi-driver-lvm

Provides a Gardener extension for managing csi-driver-lvm for a shoot cluster.

As a safety measurement, the extension checks for the old csi-lvm and stops reconciling if the old driver is still available. If not the extension will reconcile the new csi-driver-lvm.

The following storage classes will be created by default:

  • csi-driver-lvm-linear for linear volumes
  • csi-driver-lvm-mirror for mirrored volumes for improved redundancy on multiple physical volumes
  • csi-driver-lvm-striped for striped volumes for improved performance on multiple physical volumes
  • csi-lvm for backwards compatibility with type linear.

See docs/migration.md for further information about migrating from csi-lvm to csi-driver-lvm.

Development

This extension can be developed in the gardener-local devel environment. Before make sure you have created loop-devices on your machine (identical to how you would develop the csi-driver-lvm locally, refer to the repository docs for further information).

for i in 100 101; do fallocate -l 1G loop${i}.img ; sudo losetup /dev/loop${i} loop${i}.img; done
sudo losetup -a
# use this for recreation or cleanup
# for i in 100 101; do sudo losetup -d /dev/loop${i}; rm -f loop${i}.img; done
  1. Start up the local devel environment
  2. The extension's docker image can be pushed into Kind using make push-to-gardener-local
  3. Install the extension kubectl apply -k example/
  4. Parametrize the example/shoot.yaml and apply with kubectl -f example/shoot.yaml