OpenEBS operator configuration reference for Lokomotive
Introduction
OpenEBS is a container native storage provider supporting dynamic storage provisioning, which allows creating persistent volume claims to be automatically bound by created persistent volumes. OpenEBS a adopts Container Attached Storage (CAS) approach, where each workload is provided with a dedicated storage controller.
This component installs the OpenEBS operator.
Prerequisites
-
A Lokomotive cluster accessible via
kubectl
. -
At least 3 workers with available disks.
-
iSCSI client configured and
iscsid
service running on the worker nodes. In our current setup, we haveiscsid
service automatically enabled and running on all worker nodes.
NOTE: OpenEBS requires available disks, i.e. disks that aren’t mounted by anything. This means that by default, OpenEBS does not work on machines with just a single physical disk, e.g. Packet’s t1.small.x86 (because the disk is used for the operating system).
Configuration
To only use a subset of worker nodes for OpenEBS storage, you must manually label the nodes before configuring the OpenEBS operator component.
Refer to the Kubernetes documentation on adding labels to a node .
OpenEBS operator component configuration example:
component "openebs-operator" {
# Optional arguments.
# Example node labels to consider for OpenEBS storage.
ndm_selector_label = "node"
ndm_selector_value = "openebs"
}
NOTE: If ndm_selector_label
and ndm_selector_value
are not provided, all worker nodes are
considered by OpenEBS for storage.
Attribute reference
Table of all the arguments accepted by the component.
Argument | Description | Default | Type | Required |
---|---|---|---|---|
ndm_selector_label |
Name of the node label. | - | string | false |
ndm_selector_value |
Value of the node label | - | string | false |
Applying
To apply the OpenEBS operator component:
lokoctl component apply openebs-operator
This component only concerns with the installation of openebs-operator. To configure the storage class and storage pool claim, check out the openebs-storage-class component.
Deleting
To destroy the component:
lokoctl component delete openebs-operator --delete-namespace