Manage Container Attached Storage (CAS) - Data Engines in Kubernetes
Visit https://docs.openebs.io to learn about Container Attached Storage(CAS) and full documentation on using OpenEBS Maya.
OpenEBS Maya extends the capabilities of Kubernetes to orchestrate CAS (aka Container Native) Storage Solutions like OpenEBS Jiva, OpenEBS cStor, etc. Maya (meaning Magic), seamlessly integrates into the Kubernetes Storage Workflow and helps provision and manage the CAS based Storage Volumes. The core-features of Maya include:
Maintaining the inventory of the underlying disks on the Kubernetes Nodes.
Managing the allocation of Disks to CAS Storage Engines.
Provisioning of CAS Volumes by interfacing with K8s Dynamic Volume Provisioner.
Managing the high availability of the CAS volumes by tuning the scheduling parameters of CAS Deployments (Pods).
Provide adapters to CAS Volumes to interact with Kubernetes and related infrastructure components like Prometheus, Grafana etc.
Maya orchestration and management capabilities are delivered through a set of services and tools. Currently, these services support deploying the CAS Storage Solutions in Kubernetes Clusters. In future, these can be extended to support other Container Orchestrators.
Maya components can be broadly classified based on their deployment type as follows:
Control Plane Components - These are containers that are initialized as part of enabling OpenEBS in a Kubernetes cluster.
CAS Side-car Components - These are adapter components that help with managing the CAS containers that do not inherently come up with the required endpoints. For example:
CLI - While most of the operations can be performed via the kubectl, Maya also comes with mayactl that helps retrieve storage related information for debugging/troubleshooting storage related issues.
Please refer to our documentation at OpenEBS Documentation.
Head over to the CONTRIBUTING.md.
See the OpenEBS Community page for reaching out to the OpenEBS Developers.
Design proposals for Maya components are located at OpenEBS Designs directory.
The issues related to Maya are logged under openebs/openebs.
To build Maya from the source code, see developer's documentation.
Maya uses golang dep to manage dependencies.
The source code for OpenEBS Provisioner is available at openebs/external-storage.
mayactl is shipped along with the maya-apiserver container.