Installing OpenEBS
This guide will help you to set up, customize, and install OpenEBS and use OpenEBS Volumes to run your Kubernetes Stateful Workloads. If you are new to running Stateful workloads in Kubernetes, you will need to familiarize yourself with Kubernetes Storage Concepts.
#
How to set up and use OpenEBS?OpenEBS seamlessly integrates into the overall workflow tooling that Kubernetes administrators and users have around Kubernetes.
The OpenEBS workflow fits nicely into the reconciliation pattern introduced by Kubernetes, paving the way for a Declarative Storage Control Plane as shown below:
#
PrerequisitesIf this is your first time installing OpenEBS Local Storage (a.k.a Local Engines), make sure that your Kubernetes nodes meet the required prerequisites for the following local storages:
For OpenEBS Replicated Storage (a.k.a Replicated Engine), make sure that your Kubernetes nodes meet the required prerequisites.
At a high-level, OpenEBS requires:
- Verify that you have the admin context. If you do not have admin permissions to your cluster, check with your Kubernetes cluster administrator to help with installing OpenEBS or if you are the owner of the cluster, check out the steps to create a new admin context and use it for installing OpenEBS.
- Each storage engine may have a few additional requirements as follows:
- Depending on the managed Kubernetes platform like Rancher or MicroK8s - set up the right bind mounts.
- Decide which of the devices on the nodes should be used by OpenEBS or if you need to create LVM Volume Groups or ZFS Pools.
#
Supported Versions- Kubernetes 1.23 or higher is required
- Linux Kernel 5.15 or higher is required
- OS: Ubuntu and RHEL 8.8
- LVM Version: LVM 2
- ZFS Version: ZFS 0.8
#
Installation via Helmwarning
The Helm chart registry at "https://openebs.github.io/charts" has now been deprecated as those charts are used to install legacy OpenEBS (v3.10 and below) releases. This registry will be migrated to a different registry location "https://openebs-archive.github.io/charts" by Oct 30, 2024.
The Helm charts for the latest OpenEBS (v4.0 and above) are hosted in a new registry location "https://openebs.github.io/openebs". To ensure seamless access to OpenEBS Helm charts, update your configurations to use the new registry URL.
Verify helm is installed and helm repo is updated. You need helm 3.2 or more.
- Setup helm repository.
important
helm repo add openebs https://openebs.github.io/charts
has changed to helm repo add openebs https://openebs.github.io/openebs
.
OpenEBS provides several options to customize during installation such as:
- Specifying the directory where hostpath volume data is stored or
- Specifying the nodes on which OpenEBS components should be deployed and so forth.
- Install the OpenEBS helm chart with default values.
The above commands will install OpenEBS Local PV Hostpath, OpenEBS Local PV LVM, OpenEBS Local PV ZFS, and OpenEBS Replicated Storage components in openebs
namespace and chart name as openebs
.
note
The default OpenEBS helm chart will install both Local Storage and Replicated Storage. If you do not want to install OpenEBS Replicated Storage, use the following command:
- To view the chart and get the output, use the following commands:
Command
Output
As a next step verify your installation and do the post installation steps.
#
Verifying OpenEBS Installation#
Verify Pods#
Default InstallationList the pods in <openebs>
namespace
In the successful installation of OpenEBS, you should see an example output like below:
#
Installation with Replicated Storage DisabledList the pods in <openebs>
namespace
In the successful installation of OpenEBS, you should see an example output like below:
#
Verify StorageClassesList the storage classes to check if OpenEBS has been installed with default StorageClasses.
In the successful installation, you should have the following StorageClasses created:
#
Post-Installation ConsiderationsFor testing your OpenEBS installation, you can use the openebs-hostpath
mentioned in the Local Storage User Guide for provisioning Local PV on hostpath.
You can follow through the below user guides for each of the engines to use storage devices available on the nodes instead of the /var/openebs
directory to save the data.