IT 3300 : Virtualization

Capstone Project

The goal

Deploy a complete application across the entire stack you built this
semester — from bare metal to orchestrated, self-healing containers.

This is where every unit comes together.

The stack you'll use

Proxmox VMs            (your platform)
  -> Docker images     (your app, containerized)
     -> Kubernetes     (orchestrated across nodes)
        -> Storage + Ingress + config

Requirements — platform

  • A Proxmox cluster with shared/distributed storage
  • VMs provisioned to host your Kubernetes cluster
  • A working multi-node k8s cluster (k3s or MicroK8s)

Requirements — application

  • A multi-tier app (e.g. web front end + database)
  • Front end built from your own Dockerfile, pushed to a registry
  • Database or backing service with persistent storage (PVC)

Requirements — Kubernetes

  • Deployment with multiple replicas (self-healing)
  • Service for stable internal networking
  • Ingress exposing the app by hostname
  • ConfigMap + Secret for configuration and credentials
  • PVC so data survives pod restarts

Demonstrate resilience

  • Delete a pod -> it heals automatically
  • Roll out an image update -> no downtime
  • Roll back a bad release
  • Kill a node -> workloads reschedule (HA)

Stretch goals

  • Package the app as a Helm chart
  • Add an HPA and show it scaling under load
  • Add resource limits, health probes, and a NetworkPolicy
  • Deploy the same manifests to a managed cloud cluster

Deliverables

  • The running app, reachable via Ingress
  • All manifests / Dockerfiles / Helm charts in a git repo
  • A short write-up: architecture, choices, and what you'd improve
  • A live demo of the resilience scenarios above

What this proves

You can take an application from source code to a resilient, scalable,
production-shaped deployment — the core skill this course exists to teach.