Skip to content

A sample (non-production) CSI Driver that creates a local directory as a volume on a single node

License

Notifications You must be signed in to change notification settings

stoneshi-yunify/csi-driver-host-path

 
 

Repository files navigation

NOTICE

This repo is forked from https://github.com/kubernetes-csi/csi-driver-host-path and aims for production use.

CSI Hostpath Driver

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.

Pre-requisite

  • 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)

Features

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

By Helm

helm install csi-hostpath ./deploy/chart -n kube-system

By installation script

Deployment varies depending on the Kubernetes version your cluster is running:

Examples

The following examples assume that the CSI hostpath driver has been deployed and validated:

Building the binaries

If you want to build the driver yourself, you can do so with the following command from the root directory:

make

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

About

A sample (non-production) CSI Driver that creates a local directory as a volume on a single node

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 46.9%
  • Go 45.2%
  • Makefile 5.0%
  • Python 2.5%
  • Dockerfile 0.4%