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.