Loft Labs SDK Extends Virtual Clusters to Build Plug-Ins

Loft Labs today added a plug-in capability and associated software development kit (SDK) that collectively make virtual clusters running on Kubernetes platforms more extensible.

Lukas Gentele, Loft CEO, says the goal is to make it simpler for developers to extend vclusters without impacting the core of the open source project. That architectural approach is similar to the way extensions to physical Kubernetes clusters are enabled using application programming interfaces (APIs), he adds. Plug-ins created for vcluster employ a syncher component to both define which resources get synchronized to the underlying Kubernetes cluster and specify how that should occur.

At its core, a vcluster plug-in is a lightweight Kubernetes operator that has simultaneous access to both the virtual cluster and the host cluster. Each plug-in will run as a sidecar container inside the vcluster pod. The vcluster SDK makes use of a controller-runtime to make it possible to write custom plug-ins with just a few lines of code.

The vcluster project provides a layer of abstraction that logically isolates each application running on a multitenant Kubernetes cluster. This approach is easier to set up and maintain than relying solely on the namespaces capability that Kubernetes already provides. In effect, vcluster extends that namespaces capability.

Once installed, a virtual cluster behaves just like any regular Kubernetes cluster. In fact, vcluster is a certified Kubernetes distribution, which means that it passes all conformance tests required by the Cloud Native Computing Foundation (CNCF). A vcluster can be spun up using either a graphical tool or via the Loft command line interface (CLI) or, alternatively, by using the kubectl CLI that comes with Kubernetes.

Loft Labs claims there have already been more than 400,000 downloads of vcluster. The company also makes available an enterprise-grade platform on top of vcluster—dubbed Loft—that IT teams can use to enable developers, engineers or IT administrators to provision Kubernetes clusters.

Virtual clusters are frequently used as both development environments for building, testing and debugging applications and for executing continuous integration/continuous delivery (CI/CD) pipelines as part of a DevOps workflow. It’s not clear yet to what degree vclusters are being employed, but as more organizations experiment with extensions to Kubernetes there is a need to find a way to encourage innovation without materially impacting a production environment or spinning up of an additional physical cluster.

The issue many IT organizations will soon encounter is finding a way to limit Kubernetes cluster sprawl before it gets further out of control. A vcluster makes it simpler to provision and, just as importantly, tear down a Kubernetes cluster at various stages of an application development project. Like it or not, Kubernetes environments are much more dynamic than legacy IT platforms. The challenge, now, is finding a way to efficiently manage Kubernetes clusters across a mix of developers and IT operations teams that have varying degrees of programming expertise and also conflicting priorities.

Mike Vizard

Mike Vizard is a seasoned IT journalist with over 25 years of experience. He also contributed to IT Business Edge, Channel Insider, Baseline and a variety of other IT titles. Previously, Vizard was the editorial director for Ziff-Davis Enterprise as well as Editor-in-Chief for CRN and InfoWorld.

Mike Vizard has 1615 posts and counting. See all posts by Mike Vizard