Tech Preview: Installing InfoScale on an Azure Kubernetes Service(AKS) cluster

Last published : Jun 12, 2026
Prerequisites
  • Azure Kubernetes Service (AKS) cluster must be created by using the manual scaling method and the cluster must be running.
    Note: Do not power off the Azure Kubernetes Service(AKS) cluster after provisioning storage.
  1. Run the command kubectl get nodes to verify whether all nodes are ready and running.
    NAME                             STATUS ROLE   AGE  VERSION
    <Name of the first worker node>  Ready  agent  6h3m v1.23.8
    <Name of the second worker node> Ready  agent  6h3m v1.23.8

    .
    .
    1. Copy the following content and save the file as storage-provision.yaml. Ensure that you specify replicas, storageClassName, and storage for the cluster.
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: storage
      labels:
        app: infoscale
      annotations:
        specialresource.openshift.io/wait: "true"
    spec:
      podManagementPolicy: "Parallel"
      serviceName: "provisioner"
      replicas: <Number of worker nodes in the cluster
                 You can specify upto 16 nodes>
      selector:
        matchLabels:
          app: infoscale
      template:
        metadata:
          labels:
            app: infoscale
        spec:
          topologySpreadConstraints:
          -  maxSkew: 1
            topologyKey: topology.kubernetes.io/zone
            whenUnsatisfiable: DoNotSchedule
            labelSelector:
              matchExpressions:
              -  key: app
                operator: In
                values:
                -  infoscale
          -  maxSkew: 1
            topologyKey: kubernetes.io/hostname
            whenUnsatisfiable: ScheduleAnyway
            labelSelector:
              matchExpressions:
              -  key: app
                operator: In
                values:
                -  infoscale
          containers:
          -  image: busybox
            name: busybox
            command: ['sh','-c','--']
            args: ["while true; do sleep 300; done;"]
            volumeDevices:
            -  devicePath: "/var/"
              name: infoscale-pvc
      volumeClaimTemplates:
      -  metadata:
          name: infoscale-pvc
        spec:
          storageClassName: \<Name of the Storage class\>
          volumeMode: Block
          accessModes:
          -  ReadWriteOnce
          resources:
            requests:
              storage: \<Storage capacity per node in GB\>
    ---
  2. Run the following command to assign storage to the worker nodes.
kubectl apply -f storage-provision.yaml
Following output indicates that storage is assigned.
statefulset.apps/storage created
  1. Run the following command to verify whether pods are created successfully in the namespace where you applied the yaml.
kubectl get pods
Output similar to the following indicates a successful creation of pods.
default   storage-0  1/1     Running    0  22h
default   storage-1  1/1     Running    0  22h
default   storage-2  1/1     Running    0  22h
default   storage-3  1/1     Running    0  22h
default   storage-4  1/1     Running    0  22h
  1. Note: excludeDevice,Encryption, andfencingDeviceare not supported for AKS. While configuringcr.yaml, ensure that you do not enter these parameters.