Installation
This section documents steps for installing and managing AIStor Volume Manager on Kubernetes infrastructure using a distribution that follows the upstream API and functionality.
Prerequisites
Kubernetes release
MinIO recommends using an in-support, active release of Kubernetes. In general, Kubernetes releases remain supported for up to one year after release.
Volume Manager requires Kubernetes release 1.29 or later.
Authorization
This procedure assumes that the user interacting with the Kubernetes cluster has authorization to:
- Install Kubernetes operators and associated resources including CustomResourceDefinitions, Statefulsets, and secrets into new or existing namespaces.
- Perform operations as a user that has broad permissions to create resources within multiple namespaces.
Install Volume Manager using Helm Charts
-
Download your SUBNET license key
Log into MinIO SUBNET and access your License Key. From the Deployment view, select License Key to view the key.
Save the value to a secure location for use in a subsequent step.
-
Add the AIStor Helm Repository
helm repo add minio https://helm.min.io/ helm repo update helm search repo minio
-
Install the
minio/aistor-volumemanager
charthelm install directpv minio/aistor-volumemanager --set license="LICENSE-STRING"
Replace
LICENSE-STRING
with the license as downloaded or copied from SUBNET.If you desire custom options, such as
nodeSelectors
ortolerations
, see Advanced installation options. -
Next Steps
Once you have installed Volume Manager, you can prepare drives for provisioning. You can then dynamically allocate storage to pods by specifying
storageClass: directpv-min-io
when constructing the Persistent Volume Claim.
Install the Volume Manager plugin
The plugin provides command line tools to manage your Volume Manager installation.
-
Download the Volume Manager plugin for your operating system and architecture from https://dl.min.io/aistor/directpv/release/.
The plugin is available for
amd64
,arm64
, andppc64le
architectures.Move the downloaded file to your system PATH. For example, move the file to
/usr/local/bin/
or, for Windows,$HOME\bin\
. Refer to the documentation for your operating system for where to place the file. -
Mark the downloaded plugin as executable.
chmod a+x /path/to/kubectl-directpv
Executables on macOSmacOS typically blocks unsigned binaries from running. If thekubectl-directpv
command fails, go to System Settings, then Privacy and Security. Scroll to the Security section and select Allow Anyway for thekubectl-directpv
application.
Advanced installation options
Custom chart values
You can customize the minio/aistor-volumemanager
chart to add the license, limit node selections, or add tolerations.
These options are not required.
This chart contains the necessary Kubernetes resources for deploying AIStor Volume Manager resources through the aistor-volumemanager
chart.
-
Create a YAML manifest for the chart named
aistor-volumemanager-values.yaml
.For example, to create the file from the command line:
touch aistor-volumemanager-values.yaml
-
Edit the
aistor-volumemanager-values.yaml
file.For example, to edit the file with the CLI text editor
nano
:nano aistor-volumemanager-values.yaml
The example manifest below includes the
nodeserver
key for controlling how Volume Manager determines eligible nodes. SetnodeSelector
to limit Volume Manager to specific nodes in the cluster. Settolerations
to allow Volume Manager to ignore node taints.Replace the
LICENSE-STRING
with your SUBNET license. If you do not wish to set the license in the file, remove the line.license: "LICENSE-STRING" nodeserver: nodeSelector: { # aistor.min.io/pool-id: "1" } tolerations: [ # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoSchedule" ]
-
Install the chart using the custom values.
helm install directpv minio/aistor-volumemanager \ -f aistor-volumemanager-values.yaml
If successful, the command outputs a summary of installed resources.
-
Validate the installation.
Run the following command and check the status of deployed resources.
kubectl get all -n directpv
seccomp
If seccomp
is enabled, load DirectPV seccomp profile on nodes where you want to install Volume Manager.
Then, include nodeserver.seccompProfile
in your customized Helm
chart.
For more information, refer Kubernetes documentation
apparmor
If apparmor
is enabled, load DirectPV apparmor profile on nodes where you want to install Volume Manager.
Then, include nodeserver.podAnnotations
in your customized Helm
chart.
For more information, refer to the Kubernetes documentation.