.. _kubernetes_install: ================================== 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: .. code-block:: bash 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. .. code-block:: yaml 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. .. code-block:: bash 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. .. code-block:: yaml 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: "" licenseKey: "" Save this file as `fleio-values.yaml` then run the following commands to package and install Fleio .. code-block:: bash 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.