This repository hosts the CSI Hostpath driver and all of its build and dependent configuration files to deploy the driver.
*WARNING: This driver is just a demo implementation and is used for CI testing. This has many fake implementations and other non-standard best practices, and should not be used as an example of how to write a real driver.
- Kubernetes cluster
- Running version 1.13 or later
- Access to terminal with
kubectl
installed - For Kubernetes 1.17 or later, the VolumeSnapshot beta CRDs and Snapshot Controller must be installed as part of the cluster deployment (see Kubernetes 1.17+ deployment instructions)
The driver can provide empty directories that are backed by the same filesystem as EmptyDir volumes. In addition, it can provide raw block volumes that are backed by a single file in that same filesystem and bound to a loop device.
Various command line parameters influence the behavior of the driver. This is relevant in particular for the end-to-end testing that this driver is used for in Kubernetes.
Usually, the driver implements all CSI operations itself. When deployed with the -proxy-endpoint
parameter, it instead proxies all incoming connections for a CSI driver that is embedded inside the Kubernetes E2E test suite and used for mocking a CSI driver with callbacks provided by certain tests.
Deployment varies depending on the Kubernetes version your cluster is running:
The following examples assume that the CSI hostpath driver has been deployed and validated:
- Volume snapshots
- Inline ephemeral volumes
If you want to build the driver yourself, you can do so with the following command from the root directory:
make
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at:
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.