Table of Contents
2022 was a very exciting year for vcluster. If you’re unfamiliar with vcluster, it’s an open source tool for creating and managing virtual Kubernetes clusters. Virtual clusters are lightweight and run in a namespace of an underlying host cluster but appear to the users as if they’re full-blown clusters. If you’d like more details, there’s an extended explanation in the docs.
Let’s take a look at the massive growth of the project and some of the new features that showed up in 2022.
First, some numbers: vcluster now has more than 2,200 stars on GitHub, and the Docker images have been downloaded more than 26 million times from Docker Hub. While I don’t put a lot of faith in GitHub stars as a metric on its own, there’s a lot of other evidence that the project has grown a lot this year.
One of the highlights for vcluster was KubeCon + CloudNativeCon 2022 North America, which was held in Detroit. vcluster was featured in a keynote by Whitney Lee and Mauricio Salatino, which illustrated how platform teams can better serve developers, as well as a talk by Joseph Sandoval and Dan Garfield about how Adobe’s new CI/CD platform that uses vcluster and Argo CD. And Mike Tougeron from Adobe spoke more about their use of vcluster at GitOps Con North America in the buildup to KubeCon.
vcluster was featured on VMware’s TGIK stream, Whitney Lee’s Elightning show, and Bret Fisher’s DevOps and Docker stream. We also saw written content about vcluster from the community, like this intro tutorial by Pavan Kumar, a blog post from Mauricio Salatino on building dev platforms with vcluster and Crossplane, and this super cool post from Jason Andress about building honeypots with vcluster. The honeypot use case had never occurred to me. I love seeing what creative uses people come up with for vcluster.
There wouldn’t be so much excitement around vcluster if not for the work of the maintainers and contributors. It’s great to see so many new features being added, and they often come out of feedback from people in the community. Here’s a look at some of the things that shipped in 2022.
Deploying Helm charts and manifests on startup: This is one of my favorite features that’s been added to vcluster. It’s one thing to provision a bare cluster and another thing for that to become a useful environment. With this feature, you can apply Helm charts (public or private) or Kubernetes YAML manifests as the virtual cluster spins up for the first time. It’s super helpful. (Read the docs here)
Distros: Initially, vcluster was built on top of k3s, but after a while, people started asking if we could support other Kubernetes distributions. Now vcluster also supports k0s, EKS, and standard Kubernetes. This allows you to use a virtual cluster more like your production environment. (Docs)
Isolated mode: As more people started using vcluster, we received lots of questions and feedback about how much isolation the virtual clusters had. With isolated mode, vcluster now adds some additional Kubernetes security features to the virtual clusters as they’re provisioned: a Pod Security Standard, a resource quota, a limit range, and a network policy. Isolated mode is optional and can be invoked with the
--isolated flag. (Docs)
Plugins: With the complexity of Kubernetes, it became clear that people would need the ability to customize and extend vcluster to fit their workflows. Enter vcluster plugins and the vcluster SDK. Plugins are written in Go and allow users to customize the behavior of vcluster’s syncer to do all kinds of things, like sharing resources between host and virtual clusters. (Docs)
Pausing and resuming virtual clusters: This handy feature can scale down workloads in your virtual clusters when they’re not being used. That’s done by setting the number of replicas to zero for StatefulSets and Deployments. Resuming the virtual cluster sets the replicas back to their original value, and then the scheduler spins the pods back up. This allows users to suspend the workloads while keeping configurations in the virtual cluster in place. (Docs)
This is just a handful of the many improvements made to vcluster in 2022.
I want to thank the vcluster maintainers, the contributors, and everyone who used vcluster in 2022. As I mentioned, many great ideas for improving the project come from folks in the community through GitHub issues, pull requests, or even feedback in our community Slack.
We’re excited that so many people have found vcluster useful for their work. If you’ve read this far and haven’t tried vcluster yet yourself, there’s an easy quickstart that takes just a few minutes.
I’m looking forward to seeing how the project grows in 2023.