Getting going with OpenEBS - whatever flavor - via a few clicks

OEP, the free-forever OpenEBS Platform (yes, a rename may be in the works…), simplifies the deployment of OpenEBS.

You may say - well, it’s just containers, and you can use Helm, right? And of course, you can, or you can grab the YAML as explained in the OpenEBS docs.

https://docs.openebs.io/v130/docs/next/installation.html

And as the docs explain, pretty quickly, you’ll be up and running with storage classes available to your users - including yourself - whether using dynamic LocalPV, or cStor or other data engines available within OpenEBS. As an aside, in a future post, we’ll talk about matching your workload needs to data engines. OpenEBS is fairly unique in this regard - it does not lock you into a particular engine and ships with a few different batteries included and more on the way.

The OpenEBS docs indirectly make a case for why you might want to use OEP.

OpenEBS configuration sequence


As you can see, the box “Install OpenEBS” is one step. You also will want to actually configure any underlying hardware or cloud volumes used by OpenEBS. And pretty quickly, you’ll want to see how users are consuming and these capabilities via Storage Classes. All of that functionality is easiest via OEP, as is adding back-ups. And checking on operational compliance. And visualizing it all. And logging… But I degrees. This blog is about Day 1 - initial deployment.

So let’s get started

First - do you want to do a simple install with all the defaults prepopulated, including the creation and use of an OpenEBS namespace? If so - choose Basic. If you want to get under the hood a little more and choose a custom namespace and so forth, choose advanced. Let’s assume you are a relative newbie and just want the basics - so you click Basic.

Fig 1


Once you review the YAML - which again has standard content for Basic deployments - you click “Deploy OpenEBS.” That’s it.

You’ll see a Happy screen as it completes along these lines:

OpenEBS Installation Completed


You are then good to continue. Try out the other capabilities to your heart’s content. You’re on your way towards trusting Kubernetes as your data layer.

Sometimes, though, things happen. What happens when despite the best effort of you and your Kubernetes cluster, a non-Happy path is followed? Grrr - clean up, right?

Well, there is an easy button for that case as well. Take a look:

OpenEBS Installation failed


Click abort, and the deployment is cleaned up. You are then free to try again… Or get in touch with us, and we’ll see if we can help. As of Q2 2020, we see very few failures at this stage, but it does happen, and we do want to get your feedback.

That’s too easy!

What if the Basic deployment is too basic, and you want to use OEP to deploy AND configure OpenEBS, so it better takes advantage of whatever underlying systems and volumes you have available, then click Advanced.

Under Start Installation, specify the Namespace, Default Directory, and Docker registry for OpenEBS Installation.

Fig 2


Next, Specify your resource limit. You can choose one of these options available based on the size of the application, or you can provide some custom values.

AdvancedInstallation.png


Then, select the nodes where Control Plane components will get scheduled. To be clear, this is NOT the data; this is the intelligence of OpenEBS itself.

OpenEBSControlPlane.png


Keep going! Now you get to select the nodes where the Data Plane components should be scheduled. As the name suggests - these are the pieces of OpenEBS that are in the data path.

OpenEBSDataNodes.png


Lastly - you can segregate the Disk Filters under Include or Exclude. This interface leverages NDM, which is a MayaData originated subproject that extends Kubernetes to track the inventory of places to store data. By the way, you’ll notice you can use different disks and volumes of various types - sure you can. It turns out that older storage systems and services often don’t allow “heterogeneous” disk, and cloud volume types, and this level of freedom provides you with a lot more flexibility as you and your data grow.

If you want to avoid lock-in, you’ve got to pay attention to the details.

Once everything is done, the customized YAML gets displayed. Click on Deploy OpenEBS to install OpenEBS.

OpenEBSAdvancedFinalYAML.png


And that’s it. You’re back in the same flow as before. If the non-Happy Path takes you away, you can, again, Abort at failure.

Congratulations!

That’s it! You are done. Please take a look around on this blog and on OEP itself and try out other functions. Keep in mind that OEP is increasingly organized around the workload itself. As you deploy workloads invoking the storage classes you’ve created and are creating, you’ll see they appear in OEP and that from OEP you can do a lot to make them more resilient and efficient in their operations. Feedback welcome and needed.

Evan Powell
Founding CEO of a few companies including StackStorm (BRCD) and Nexenta — and CEO & Chairman of OpenEBS/MayaData. ML and DevOps and Python, oh my!
Brian Matheson
Brian Matheson has spent twenty years doing things like supporting developers, tuning networks, and writing tools. A serial entrepreneur with an intense customer focus, Brian has helped a number of startups in a technical capacity. He is currently immersed in k8s as a Developer Advocate at MayaData. He and his wife, Judy, live in NY with their two very small dogs.
Shovan Maity
Shovan works as a Software Engineer at MayaData, who's experienced in Load Balancer, gRPC, WebSocket, REST APIs, and has good hands-on experience on Kubernetes. He's currently working in building microservices for OpenEBS Director. In his free time, Shovan likes to read blogs on distributed systems. He also likes Travelling and Photography.