Skip to main content

Nomad

Overview​

HashiCorp Nomad is a simple, flexible, and lightweight workload orchestrator capable of managing containerized applications (Docker), native binaries, and system tasks.

In this homelab setup, Nomad operates alongside Consul for service discovery and Vault for secret management, deployed across virtualized environments on Proxmox VE.


Known Issues & Troubleshooting​

Dynamic CPU Allocation Issues (Proxmox LXC)​

Symptom & Error​

When running tasks on Nomad inside a Proxmox LXC container backed by Docker, the following error may appear in the Nomad logs:

Requested CPUs are not available - requested 1, available: 4

Cause​

This stems from a cpuset cgroup desynchronization between Proxmox LXC and the Docker/Nomad daemon. When CPU cores are modified dynamically via the Proxmox GUI or API, the LXC container does not properly propagate these cgroup limit updates to Nomad.

Solution​

The fix requires explicitly pinning the allocated CPU cores directly inside the LXC container configuration file on the Proxmox host:

cores: 1
lxc.cgroup2.cpuset.cpus: 1
note

Remember to restart the LXC container after applying this modification for the changes to take effect in Nomad.