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.

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

  1. Download your SUBNET license key

    Log into MinIO SUBNET and access your License Key. From the Deployment view, select License to view the key.

    SUBNET License download

    Save the value to a secure location for use in a subsequent step.

  2. Add the AIStor Helm Repository

    helm repo add minio https://helm.min.io/
    
  3. Configure and install the minio/aistor-volumemanager chart

    This chart contains the necessary Kubernetes resources for deploying AIStor Volume Mangaer resources through the aistor-volumemanager chart.

    Create a YAML manifest for the chart named aistor-volumemanager-values.yaml. Replace the LICENSE-STRING with your SUBNET license.

    The example manifest below includes the nodeserver key for controlling how Volume Manager determines eligible nodes. Set nodeSelector to limit Volume Manager to specific nodes in the cluster. Set tolerations to allow Volume Manager to ignore node taints.

    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 volume-manager minio/aistor-volumemanager \
      -f aistor-volumemanager-values.yaml
    

    If successful, the command outputs a summary of installed resources. To validate the installation, run kubectl get all -n directpv and check the status of deployed resources.

  4. 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.