- Installs prerequisites on an Ubuntu VM,
- Configures kernel settings and systemd services,
- Installs Docker, kubectl (from pkgs.k8s.io), and Minikube,
- Starts a multi-node Minikube Kubernetes cluster (Docker driver),
- Enables add-ons (metrics-server, ingress, dashboard),
- Deploys an nginx demo application and prints access information.

Difficulty: Intermediate Environment and prerequisites
1 — Install Claude Code on the VM
Install the Claude Code CLI on the machine where you plan to run this automation. For the KodeKloud course use the provided installer:
- Prerequisites and system-level configuration (sysctls, modules),
- Packages to install (Docker, kubectl, Minikube),
- Cluster profile (name, node count, CPU, memory),
- Add-ons to enable (metrics-server, ingress, dashboard),
- Demo application to deploy (nginx “hello” deployment),
- Verification steps and fallbacks (port-forward).
/tmp/minikube-demo.sh.
3 — The generated installation script
Save the following to /tmp/minikube-demo.sh. The script is written to be idempotent: it checks for existing installs and skips re-installation where appropriate.
newgrp docker subshell to avoid permission errors. If an add-on fails due to permissions, re-run the add-on commands after obtaining docker group privileges:
If you do not start a new shell or run
newgrp docker, Minikube or addon commands may fail with permission errors. Log out and log back in, or use newgrp docker, before re-running addon commands.
Example verification console snippets you may see:
Running the full three-node demo on a single VM requires sufficient host resources. If you have limited RAM/CPU, reduce NODES or MEM in the script (for example, use 1 node or 2GB per node) to test locally. Also consider using fewer add-ons while troubleshooting.
- Ensure the VM has enough RAM and CPUs for the configured node count.
- Confirm internet connectivity for package and image downloads.
- If kubectl or minikube fail unexpectedly, inspect logs and retry after ensuring docker group membership is active.
- Claude Code For Beginners (KodeKloud course)
- Kubernetes Documentation — Concepts
- Minikube: https://minikube.sigs.k8s.io/
- Docker: https://docs.docker.com/
- pkgs.k8s.io (kubectl packages): https://pkgs.k8s.io/