azure_files_enable
Description
The azure_files_enable parameter enables Azure Files NFS volumes for shared persistent storage across service replicas. This creates a Premium FileStorage account and an NFS StorageClass in your AKS cluster.
Default Value
The default value for azure_files_enable is false.
Use Cases
- Shared Service Volumes: Enable multiple service replicas to access the same file system simultaneously, supporting access modes like ReadWriteOnce (RWO), ReadOnlyMany (ROM), and ReadWriteMany (RWM).
- Persistent Storage: Use Azure Files for applications requiring shared access to files across distributed instances and restarts.
- ML Model Storage: Store large model weights on a shared NFS volume accessible by all replicas without downloading on each startup.
Setting Parameters
To enable Azure Files volumes, use the following command:
$ convox rack params set azure_files_enable=true -r rackName
Setting parameters... OK
This command enables the Azure Files NFS volume feature for your rack.
Additional Information
Azure Files provides a scalable file storage solution using the NFS protocol. It uses a Premium FileStorage account for the performance required by NFS shares, with a minimum share size of 100GiB.
AKS includes the Azure Files CSI driver (file.csi.azure.com) by default, so no additional driver installation is needed.
Example Configuration
To configure your services to use Azure Files for persistent storage, set up your convox.yml as follows:
services:
web:
build: .
port: 3000
volumeOptions:
- azureFiles:
id: "shared-data"
accessMode: ReadWriteMany
mountPath: "/mnt/data/"
- azureFiles:
id: "models"
accessMode: ReadOnlyMany
mountPath: "/mnt/models/"
shareSize: "200Gi"
Enabling Azure Files provides shared, persistent NFS storage for your applications running on Azure AKS.