Storage Drivers
Storage drivers are responsible for handling all CSI operations for storage volumes. After initial configuration, storage drivers are automatically installed on all compute nodes by the storage service and run as containers. They can be installed/updated/removed via the Fuzzball UI or CLI.
When using the Admin UI to automatically configure an initial set of storage classes as detailed in the storage classes section, the appropriate storage driver is automatically configured based on the values entered in the cloud formation template.
As detailed in the storage class section, the Fuzzball Admin UI presents an option to automatically create an initial set of storage classes based on the values entered in the cloud formation template during the installation procedure. Selecting this option will also automatically generate the necessary storage driver to back the newly created storage classes.
The Fuzzball Admin UI can be accessed at https://ui-admin.<domain>
. After completing the
automatic storage class workflow, you can select the storage driver tab near the top middle of the
page to view configured drivers. Once you have done so, you can click the vertical ellipsis (kebab)
menu on the right to see detailed information about the driver.
You can manually add a storage driver to the cluster using the blue “Add Driver” button in the upper right corner of the Admin UI dashboard pictured above and completing the fields in the resulting UI form. It may be helpful to automatically generate a storage driver first using the workflow detailed above, and use that as guide to better understand what values are needed to complete the process.
Storage drivers can be manually specified by writing YAML files and using the fuzzball admin storage driver install <driver.yaml>
command. For information about creating YAML files to create
storage drivers, see the storage driver definitions section.
Ensure that you have created and logged into your admin context by issuing these commands:
$ fuzzball admin context create <context_name> <api_url>
$ fuzzball admin context login -u <admin_username> -p '<admin_password>'
You can manage storage drivers with the Fuzzball CLI
binary. The root command is fuzzball admin storage driver
with the following sub commands:
Usage:
fuzzball admin storage driver [command]
Aliases:
driver, dr
Available Commands:
export Export driver definition as YAML
info Get information about a storage driver
install Install a storage driver
list List storage drivers
uninstall Uninstall a storage driver
update Update a storage driver definition
Flags:
-h, --help help for driver
Global Flags:
-c, --color string Set the color output for fuzzball ($FUZZBALL_COLOR) (default "auto")
--disable-auth Disables auth ($FUZZBALL_DISABLE_AUTH)
--disable-tls Disables tls ($FUZZBALL_DISABLE_TLS)
--insecure Enable insecure connections ($FUZZBALL_INSECURE)
-j, --json Output in json ($FUZZBALL_JSON)
The --help
option will give detailed up-to-date information about the usage of each of these
commands. For instance, fuzzball admin storage driver install --help
will give you information on
installing a storage class via the CLI.
For convenience, information about managing storage drivers in the CLI with the available subcommands is summarized below.
The CLI--help
docs have the most up-to-date information regarding sub-commands.
After writing or obtaining a storage driver definition YAML file, you can install the driver for a cluster with the following:
$ fuzzball admin storage driver install <driver_definition.yaml>
The command should return a message like so:
Driver 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3 installed
You can update a storage driver definition for a cluster. Note that name
field is immutable after
the driver installation, so changing the driver name will return an error when attempting to update.
To update a driver according to a new specification file issue the following command:
$ fuzzball admin storage driver update -i 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3 <new_driver_definition.yaml>
Administrators can also uninstall a storage driver for a given cluster. If there are existing storage volumes that depend on the driver, the uninstall command will return an error reporting that there are storage volumes that depend upon it.
To uninstall a driver issue the following:
$ fuzzball admin storage driver uninstall 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3
Administrators can view the storage driver(s) installed for a cluster like so:
$ fuzzball admin storage driver list
ID | NAME | DESCRIPTION | CREATED TIME | LAST UPDATED
240919fb-c343-39f1-9f22-85d79fe9fc68 | efs.csi.aws.com | Amazon EFS CSI Driver | 2023-06-27 05:52:55PM | 2023-06-28 09:02:54AM
Administrators can view information about a storage driver within a cluster like so:
$ fuzzball admin storage driver info 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3
The output can be formatted as a JSON with the --json
option.
As and admin, you can export an existing storage driver definition as a YAML file using the export
subcommand:
$ fuzzball admin storage driver export d740e996-4561-34aa-9a2d-e7e55af57b5c