Sunday, 20 September 2026

Is Vagrant still relevant (September 2026)





TL;DR: NO


I asked Antigravity to find out opportunities for my Ubuntu box cleanup and, among other stuff, it found out this:

### Category 2: Inactive VMs & Containers (~28+ GB)

  You have older test environments that haven't been run in months or years.

   Item / Location | Size          | Notes
  -----------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------
   VirtualBox VMs  | 17.0 GB       | Vagrant test VMs (controlplane, node01, node02) from June 2024. (Note: VirtualBox's kernel module vboxdrv is not currently loaded on kernel 6.8).
   .minikube       | 9.7 GB        | Stopped Minikube cluster (8 GB VM disk + 1.7 GB ISO cache) inactive since Aug 2024.
   .vagrant.d      | 1.8 GB        | Cached base Vagrant boxes (CentOS 7, Fedora 28, Ubuntu Jammy).


As it's been a while since I used Vagrant last time, I forgot exactly what I used it for so asked Agy to help me find out:

> by looking at my vagrant config, can you find out what was vagrant used for?

▸ Thought for 2s, 221 tokens
  The initial approach involves locating Vagrant configuration files to understand...

● Bash(echo "=== Vagrant machine index ===") (ctrl+o to expand)

  Locating Vagrant configuration files and inspecting the Vagrant machine registry...
▸ Thought for 4s, 389 tokens
  Vagrant configurations reveal usage for a Certified Kubernetes Administrator (CK...

● Read(~/dev/github/certified-kubernetes-administrator-course/kubeadm-clusters/virtualbox/Vagrantfile)
● Read(~/dev/github/certified-kubernetes-administrator-course/kubeadm-clusters/virtualbox/Vagrantfile)
● Read(~/dev/github/<user>/vagrant-demo/test-01/Vagrantfile)
● Bash(ls -la ~/vagrant-test ~/vagrant-test-2 2>/dev/null)
● Bash(cd /home/<user>/dev/github/certified-kubernetes-administrator-course && git log -n 3 --oneline 2>/dev/null || true)
● Bash(git -C /home/<user>/dev/github/certified-kubernetes-administrator-course remote -v) (ctrl+o to expand)

▸ Thought for 3s, 640 tokens
  The main focus is setting up a local, multi-node Kubernetes cluster for Certifie...
  Based on your Vagrant configuration and machine index, Vagrant was used for two specific purposes:
  ──────
  ### 1. Multi-Node Kubernetes Lab for CKA Certification (~14 GB)

  • Project path: 
  • Vagrantfile: Vagrantfile
  • Purpose: Setting up a local 3-node Kubernetes cluster with kubeadm to practice for the Certified Kubernetes Administrator (CKA) exam.
  • Nodes created:
      • controlplane (Master node — Ubuntu 22.04 ubuntu/jammy64)
      • node01 (Worker node 1 — Ubuntu 22.04 ubuntu/jammy64)
      • node02 (Worker node 2 — Ubuntu 22.04 ubuntu/jammy64)
  • Provisioning: Automatically configured /etc/hosts routing, local bridge networking, SSH keys, DNS, and installed Kubernetes components (kubeadm, kubelet, kubectl, container
  runtime).
  • Disk footprint: Created the VMs stored in  (~14 GB).
  ──────
  ### 2. Vagrant & Linux Sandbox Demos (~3.2 GB)
  • Project path:  (originally initialized in ~/vagrant-test and ~/vagrant-test-2)
  • Purpose: Experimenting with basic Vagrant workflows and testing different Linux distributions:
      • Test 1: A CentOS 7 sandbox VM (centos/7, 1.1 GB disk).
      • Test 2: A Fedora 28 sandbox VM (generic/fedora28, 2.1 GB disk).
  • The original test working folders were deleted/moved, but the VM disks remained in VirtualBox VMs.
  ──────
  ### 3. Base Image Downloads (~1.8 GB)
  In .vagrant.d, Vagrant cached the base disk images downloaded from Vagrant Cloud:

  • ubuntu/jammy64 (v20240514.0.0)
  • centos/7 (v2004.01)
  • generic/fedora28 (v4.3.12)
  ──────
  ### Current Status

  All of these VMs have been powered off and inactive since May/June 2024. Since VirtualBox's host kernel driver (vboxdrv) is currently not loaded on your running kernel, these VMs
  cannot boot without rebuilding the driver.

  If you are no longer using this CKA lab or the distro test VMs, destroying them and deleting the Vagrant box cache would safely reclaim ~19 GB of disk space.


Shall I keep it?


> if i do want to resume learning on multi-node k8s cluster, should i resume using vagrant or now, in septermber 2026, there are better/faster/more lightweight options?

▸ Thought for 6s
  Vagrant, coupled with VirtualBox, is likely resource-intensive, making it less i...
  In 2026, you should definitely not resume using Vagrant + VirtualBox. It has become obsolete for local Kubernetes labs for several reasons:
  1. Massive resource waste: VirtualBox runs 3 separate full-kernel hypervisor VMs, consuming 12–16 GB of RAM and ~14–17 GB of disk just for idle nodes.
  2. Constant host breakage: As you experienced, every Ubuntu kernel update often breaks the proprietary vboxdrv kernel module, requiring recompilation or secure boot key management.
  3. Slow spin-up: Booting and provisioning 3 VMs sequentially with Vagrant takes 5–10 minutes.
  Here are the modern, industry-standard alternatives:
  ──────
  ### 1. The Best Option for Most Learning: Kind (Kubernetes in Docker)

  Kind runs each Kubernetes "node" (control-plane and workers) as a lightweight Docker container running systemd and containerd inside. Because containers share your Linux host
  kernel, there is zero hypervisor overhead.

  • Startup time: ~45 seconds.
  • Resource usage: ~2–3 GB RAM total (for all 3 nodes combined) vs 14 GB in VirtualBox.
  • Multi-node configuration: A 5-line YAML file:
    # cluster.yaml
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
    - role: worker
    - role: worker
  Run kind create cluster --config cluster.yaml and you instantly have a real 3-node cluster.
  • Great for: 90% of CKA topics — taints/tolerations, node affinity, multi-node pod scheduling, DaemonSets, NetworkPolicies (Calico/Cilium), RBAC, storage, ingress.
  ──────
  ### 2. The Best Option if you need "Real VMs" for kubeadm practice: Multipass

  The CKA exam has a few specific questions on kubeadm upgrade, systemd service debugging (systemctl status kubelet), and etcdctl snapshot restore.

  If you want real Ubuntu machines to practice manual kubeadm init, apt-get install kubelet, and kubeadm join, use Multipass https://multipass.run/ (created by Canonical/Ubuntu):

  • Uses Linux native KVM/QEMU: Built directly into the Linux kernel — no third-party VirtualBox modules that break on kernel updates.
  • Instant Ubuntu instances:
    multipass launch --name controlplane --cpus 2 --memory 2G --disk 10G
    multipass launch --name node01 --cpus 2 --memory 2G --disk 10G
    multipass launch --name node02 --cpus 2 --memory 2G --disk 10G

  • Much faster, cleaner CLI, and natively integrated with Ubuntu.
  ──────
  ### 3. Quick Comparison

   Feature            | Vagrant + VirtualBox   | Kind (Kubernetes in Docker)   | Multipass (Native KVM)
  ---------------------------------------------|---------------------------------------------|-----------------
   Setup & Startup    | 5–10 minutes           | ~45 seconds                    | ~1–2 minutes
   RAM Consumption    | ~12–16 GB              | ~2–3 GB                        | ~6 GB
   Disk Space         | ~15–20 GB              | < 1 GB                         | ~10–15 GB
   Maintenance        | High (kernel modules break) | Zero (just Docker)        | Minimal (native KVM)
   Best Used For      | Legacy setups          | Day-to-day k8s learning & manifests  | Practicing manual OS-level kubeadm & etcd
  ──────
  ### Recommendation

  • Delete the old Vagrant / VirtualBox VMs: You can safely purge the ~19 GB from VirtualBox VMs and ~/.vagrant.d.
  • When you resume:
      • Install Kind (go install sigs.k8s.io/kind@latest or binary) for fast multi-node cluster labs.
      • Use the practice simulator included with your exam registration (Killer.sh) or a few lightweight Multipass VMs when you specifically need to practice OS-level kubeadm upgrade
      steps.

No comments: