Beta - Install Fleio In Kubernetes

You can install Fleio in a Kubernetes cluster using a helm chart. For the moment an beta version of the chart is available in the Fleio repository at https://fleio.com/helm. Use the following command to add this repo:

helm repo add fleio https://fleio.com/helm

Follow instructions below to deploy Fleio in a Kubernetes cluster.

Install nfs-server-provisioner

Create value files for nfs-provisioner. Below is sample file, all values present in the file are required.

Note that this sample file will work with microk8s Kubernetes clusters, to use another type of cluster you will have to set dbPersistentStorageClass to a persistent storage class present in your cluster.

persistence:
  enabled: true
  size: 50Gi
  accessMode: ReadWriteOnce
  storageClass: "microk8s-hostpath"

Save this as nfs-values.yaml then run the following to install nfs-provisioner in your cluster. Note that on some edge clusters (microk8s, k0s, k3s, minikube …) you may need to install nfs-common on the host machine.

helm repo add nfs-ganesha-server-and-external-provisioner https://kubernetes-sigs.github.io/nfs-ganesha-server-and-external-provisioner/
helm install nfs-provisioner nfs-ganesha-server-and-external-provisioner/nfs-server-provisioner -f nfs-values.yaml

Install Fleio

Change directory to kubernetes/helm-chart in repository root.

Create a values file for Fleio. Below is a sample values file, all values present in this file are required.

Note that this sample file will work with microk8s Kubernetes clusters, to use another type of cluster you will have to set dbPersistentStorageClass to a persistent storage class present in your cluster.

You should use strong passwords in this file for both mysql and Fleio users.

fleio:
  k8s:
    dbPersistentStorageClass: "microk8s-hostpath"
    persistentStorageClass: "nfs"

  mysql:
    rootPass: rootpass
    database: fleio
    userName: fleio
    userPass: userpass

  admin:
    user: "admin"
    pass: "admin"
    email: "admin@admin.local"
    firstName: "Local"
    lastName: "Admin"

  domain: "localhost"
  timezone: "UTC"
  licenseUUID: "<fill-this>"
  licenseKey: "<fill-this>"

Save this file as fleio-values.yaml then run the following commands to package and install Fleio

helm install fleio fleio/fleio -f fleio-values.yaml

Notes

Uninstalling nfs-server-provisioner before uninstalling Fleio will prevent Fleio from uninstalling. If you are in this situation you will need to manually delete Fleio pods using kubectl delete pod –force command.

Known issues

While having multiple replicas for fleio-operations deployment, OpenStack resources (e.g. instances, volumes) that are created via operations sometimes might get duplicated.