Architecture

Cluster architecture and component overview

Cluster Layout

VMIPRoleResources
Storage192.168.56.20NFS Server1GB / 1 CPU
ControlPlane192.168.56.10Master6GB / 4 CPU
Node01192.168.56.11Worker + AI8GB / 2 CPU
Node02192.168.56.12Worker4GB / 2 CPU

Note: Node01 has extra resources for AI workloads (Ollama). Total: 19GB RAM, 9 CPUs.

Network Architecture

NetworkCIDRPurpose
Host-only192.168.56.0/24VM communication
Pod10.244.0.0/16Pod networking (Calico)
Service10.96.0.0/12Kubernetes services
MetalLB192.168.56.200-250LoadBalancer IPs

Component Stack

From top to bottom:

LayerComponent
7Applications
6Istio (Service Mesh)
5MetalLB (LoadBalancer)
4Calico (CNI)
3Kubernetes 1.32
2CRI-O (Container Runtime)
1Debian 12
0VirtualBox

Observability Stack

ComponentPurpose
GrafanaVisualization & Dashboards
PrometheusMetrics collection
LokiLog aggregation
Node ExporterHost metrics
kube-state-metricsKubernetes metrics
PromtailLog collector

Storage Stack

ComponentPurpose
NFS ServerPersistent storage backend
NFS Dynamic ProvisionerAutomatic PV provisioning
StorageClass: nfs-dynamicAuto-create PVs (default)
StorageClass: nfs-staticManual PV management

AI Stack (Optional)

ComponentPurpose
KarporKubernetes Explorer with AI
OllamaLLM backend (local/cloud)
llama3.2:3bDefault AI model

To disable AI features, set karpor_ai.enabled: false in config.yaml.