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 have iscsid 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. Equinix Metal’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