Quick Start
Create your first Kubernetes cluster in minutes
Prerequisites
Make sure you have installed:
- VirtualBox 7.0+
- Vagrant 2.4+
- kubectl 1.32+
Create the Cluster
# Clone the repository
git clone https://github.com/gilmararaujo/k8s-provisioner.git
cd k8s-provisioner/vagrant
# Start the cluster
vagrant up
This will create:
- 1 Storage VM (NFS Server)
- 1 Control Plane node
- 2 Worker nodes
Enable Promiscuous Mode (Required for MetalLB)
# From the host machine (not inside VM)
./build/k8s-provisioner-darwin-arm64 vbox promisc # macOS Apple Silicon
./build/k8s-provisioner-linux-amd64 vbox promisc # Linux
.\build\k8s-provisioner-windows-amd64.exe vbox promisc # Windows
Why? MetalLB uses ARP to announce LoadBalancer IPs. VirtualBox blocks ARP by default. Promiscuous mode allows the host to receive ARP responses.
Access the Cluster
# Copy kubeconfig
vagrant ssh controlplane -c 'sudo cat /etc/kubernetes/admin.conf' > ~/.kube/config-lab
# Fix the API server IP (replace localhost with controlplane IP)
sed -i '' 's/127.0.0.1/192.168.56.10/' ~/.kube/config-lab # macOS
sed -i 's/127.0.0.1/192.168.56.10/' ~/.kube/config-lab # Linux
# Use the config
export KUBECONFIG=~/.kube/config-lab
# Verify
kubectl get nodes
Expected output:
What’s Included
Your cluster comes pre-configured with:
| Component | Description |
|---|---|
| Calico | CNI networking |
| MetalLB | LoadBalancer for bare metal |
| Istio | Service mesh |
| NFS Provisioner | Dynamic storage (nfs-dynamic, nfs-static) |
| Prometheus + Grafana | Monitoring |
| Loki + Promtail | Logging |
| Metrics Server | Resource metrics |
| Karpor | Kubernetes Explorer with AI |
| Ollama | AI backend (local/cloud models) |
Pre-built Binaries
Download pre-built binaries from GitHub Releases:
| Platform | Binary |
|---|---|
| macOS Apple Silicon | k8s-provisioner-darwin-arm64 |
| macOS Intel | k8s-provisioner-darwin-amd64 |
| Linux x64 | k8s-provisioner-linux-amd64 |
| Linux ARM64 | k8s-provisioner-linux-arm64 |
| Windows x64 | k8s-provisioner-windows-amd64.exe |
Build from Source
# Install dependencies
make deps
# Build for all platforms
make build-all
# Or build for specific platform
make build-darwin-arm64
make build-linux-amd64
make build-windows-amd64
Next Steps
- Configuration - Customize your cluster
- CLI Commands - Learn the CLI
- Components - Deep dive into each component