Skip to content

Latest commit

 

History

History
77 lines (57 loc) · 3.88 KB

README.md

File metadata and controls

77 lines (57 loc) · 3.88 KB

Build Status

WARNING: This driver is in pre ALPHA currently. This means that there may potentially be backwards compatible breaking changes moving forward. Do NOT use this driver in a production environment in its current state.

DISCLAIMER: This is not an officially supported Amazon product

Amazon FSx for Lustre CSI Driver

Overview

The Amazon FSx for Lustre Container Storage Interface (CSI) Driver provides a CSI interface to be used by container orchestrators to manage lifecycle of Amazon FSx for lustre filesystems.

CSI Specification Compability Matrix

AWS FSx for Lustre CSI Driver \ CSI Version v0.3.0 v1.0.0
master branch yes no

Features

The following CSI interfaces are implemented:

  • Controller Service: CreateVolume, DeleteVolume, ControllerGetCapabilities, ValidateVolumeCapabilities
  • Node Service: NodePublishVolume, NodeUnpublishVolume, NodeGetCapabilities, NodeGetInfo, NodeGetId
  • Identity Service: CONTROLLER_SERVICE

FSx for Lustre CSI Driver on Kubernetes

Following sections are Kubernetes specific. If you are Kubernetes user, use followings for driver features, installation steps and examples.

Kubernetes Version Compability Matrix

AWS FSx for Lustre CSI Driver \ Kubernetes Version v1.12 v1.13
master branch yes yes

Features

  • Static provisioning - FSx for Lustre file system needs to be created manually first, then it could be mounted inside container as a volume using the Driver.
  • Dynamic provisioning - uses persistence volume claim (PVC) to let the Kuberenetes to create the FSx for Lustre filesystem for you and consumes the volume from inside container.

Installation

Checkout the project:

>> git clone https://github.com/aws/aws-fsx-csi-driver.git
>> cd aws-fsx-csi-driver

Edit the secret manifest using your favorite text editor. The secret should have enough permission to create FSx for Lustre filesystem. Then deploy the secret:

>> kubectl apply -f deploy/kubernetes/secret.yaml

Deploy the driver:

>> kubectl apply -f deploy/kubernetes/controller.yaml
>> kubectl apply -f deploy/kubernetes/node.yaml

Examples

Before the example, you need to:

  • Get yourself familiar with how to setup Kubernetes on AWS and create FSx for Lustre filesystem.
  • When creating FSx for Lustre file system, make sure it is accessible from Kuberenetes cluster. This can be achieved by creating FSx for lustre filesystem inside the same VPC as Kubernetes cluster or using VPC peering.
  • Install FSx for Lustre CSI driver following the Installation steps.

Example links

Development

Please go through CSI Spec and General CSI driver development guideline to get some basic understanding of CSI driver before you start.

Requirements

  • Golang 1.11.2+

Testing

  • To execute all unit tests, run: make test
  • To execute sanity tests, run: make test-sanity

License

This library is licensed under the Apache 2.0 License.