I love containers, and if I have to manage them at scale give me Kubernetes. Recently I started playing around with OpenShift, which is built on top of Kubernetes, and found even more to like. For me, the ability to create ‘routes’ (enabling external access to cluster services) and a GUI to see and influence what is happening, was already enough to show its value above the base Kubernetes.
It all begins with data™ and bringing NetApp storage to the party was a top priority. Fortunately, back in 2016 NetApp released a dynamic storage provisioner for OpenShift called Trident. IT IS AWESOME. If you’re using OpenShift without dynamic storage provisioning you must check this out.
But Trident doesn’t just automate storage management, it makes it autonomous, NoOps storage. Ever observant, Trident watches the
kube-apiserver for outstanding
PersistentVolumeClaim requests submitted by users and quickly and swiftly chooses the backend storage system and provisions the volume, presents it to the nodes in the OpenShift Cluster, adds it as a
PersistentVolume in OpenShift, and binds it to the request. All this happens before you can take a sip of your coffee allowing the application to start up fast. Then when a user deletes the
PersistenVolumeClaim the reverse happens ensuring everything stays in sync and avoiding orphan, or wasted storage. I hate cleaning up, and having OpenShift and Trident take care of it for me saves me time and reduces risk. And because Trident supports all the NetApp storage systems (SolidFire iSCSI, ONTAP iSCSI, ONTAP NFS, and E-Series iSCSI) I can use the right system for the right job without additional complexity.
Curious? I created a simple demo to show off a few of my favorite OpenShift + NetApp features:
Wanna try it yourself? Here are some resources to get you on your way:
- Trident GitHub: documentation and download
- Trident YouTube: Concepts and installation
- Trident blog: OpenShift with Trident
As always, comments are welcome!