Skip to content

Proxmox Infrastructure

Open source and Debian based Proxmox VE provides the virtualization foundation for the entire project, running on a metal server at my home lab.

  • Hypervisor: Proxmox VE 8.x with KVM virtualization
  • Storage: LVM for simplicity and space efficiency.
  • Networking: Dual NIC, Isolated from other home networks as IOT and guest.
  • Management: Web-based administration interface (screenshot below)

Many of the virtual machines shown below are used to host key components of the marble music rendering pipeline, including:

  • 100 prod: hosts Apache Airflow, and a local container registry using docker-compose.
  • 110 dev: used to develop and test projects, isolated from production environment.
  • 120 p4server: hosts Perforce Helix Core server for version control of 3D assets. Created specifically for this interview project.
  • 160 k8s-cp: Kubernetes control plane node hosting cluster management services.
  • 170 k8s-node1: Kubernetes worker node (planned so I can add GPU passthrough later).

In the image below you can see the CPU usage of the k8s control plane VM, which is also a host, running the positioning part of the animation script. This is CPU intensive as physics is simulated via API using Blender's built-in physics engine.

Proxmox infrastructure management

This is the local registry container running on the Proxmox host. I used it to store the Blender automation container image, so that the k8s cluster can pull it quickly without relying on external registries.

Putting it externally would require a lot of work and possibly a paid system as the image is quite large.

Code optimization and improvements