Hardware
Systems
| Host | Role | Model | CPU | RAM | NICs | Notes |
|---|---|---|---|---|---|---|
| nuc-00 | Bastion / admin | NUC10i7FNK | i7-10710U | 32 GB | 1 | DNS, DHCP, NTP, Web, TFTP, step-ca, Hauler |
| nuc-01 | Harvester node 1 | NUC10i7FNH | i7-10710U | 64 GB | 2 | Management NIC + VM traffic NIC |
| nuc-02 | Harvester node 2 | NUC10i7FNH | i7-10710U | 64 GB | 2 | Management NIC + VM traffic NIC |
| nuc-03 | Harvester node 3 | NUC10i7FNH | i7-10710U | 64 GB | 2 | Management NIC + VM traffic NIC |
| spark | AI inference | NVIDIA DGX Spark (GB10) | arm64 | 128 GB | 1 | Joins RKE2 as agent node; arm64 only |
| nas | NAS / NFS storage | ASUS X99 | Xeon E5-2630 v3 | 94 GB | 1 | NFS exports for Harvester + general storage |
Harvester Node NIC Layout
nuc-01, nuc-02, and nuc-03 each have two NICs. This is a hard requirement for Harvester — it separates management traffic from VM traffic so that a busy VM workload does not starve the Harvester control plane of bandwidth.
| NIC | Purpose | Connected to |
|---|---|---|
| NIC 1 (management) | Harvester OS, cluster management, PXE boot | Management switch |
| NIC 2 (VM traffic) | VM network overlay (VLAN) | VM/data switch (may be the same physical switch on a different VLAN) |
Harvester's network configuration wizard will ask you to assign these during installation. The management NIC gets the static IP (.101/.102/.103); the VM NIC is left unconfigured at the OS level — Harvester manages it directly.
KVM / IP-KVM Management
Each Harvester node has an out-of-band management interface (Intel AMT / integrated KVM) for remote access during bare-metal install. These are on the same management network as the Harvester hosts.
| Host | KVM Management IP | KVM MAC Address |
|---|---|---|
| nuc-01 | 10.0.0.111 | 48:da:35:6f:72:b3 |
| nuc-02 | 10.0.0.112 | 48:da:35:6f:3e:c2 |
| nuc-03 | 10.0.0.113 | 48:da:35:6f:e4:4f |
The KVM management IPs are static DHCP leases in ISC dhcpd, assigned by the KVM MAC addresses above. You can access the KVM web interface at http://10.0.0.111 etc. before the host OS is installed.
Primary NIC MAC Addresses (DHCP Static Leases / iPXE)
The primary (management) NIC MAC addresses are used for two things: static DHCP lease assignment and iPXE boot routing. Each node gets a fixed IP based on its MAC, and the DHCP filename option routes it to the correct Harvester per-node config.
| Host | Primary NIC MAC | Static IP |
|---|---|---|
| nuc-01 | 88:ae:dd:0b:90:70 | 10.0.0.101 |
| nuc-02 | 1c:69:7a:ab:23:50 | 10.0.0.102 |
| nuc-03 | 88:ae:dd:0b:af:9c | 10.0.0.103 |
Harvester Disk Layout
Harvester's installer assigns disks during setup. The enclave build uses the following layout consistently across all three nodes:
| Disk | Device | Purpose |
|---|---|---|
| OS disk | /dev/sda | Harvester OS installation |
| Data disk | /dev/nvme0n1 | Longhorn storage pool (persistent volumes for VMs and workloads) |
Make sure the correct device names are reflected in the Harvester cloud-init / config files before booting the installer. If the NVMe device appears as a different path on your hardware (check lsblk on a live boot), update the configs accordingly.
arm64: The DGX Spark
:::caution arm64 everywhere it matters The NVIDIA DGX Spark (GB10) is arm64 (aarch64). This is not an optional detail — it affects every artifact that runs on it or is managed by it:
- The RKE2 agent tarball loaded onto the Spark must be the
arm64build - GPU Operator images must include
linux/arm64platform entries in the Hauler manifest - vLLM, Ollama, and any model-serving container must be arm64-compatible
- ExMachina images must include arm64 entries
Any image that is only linux/amd64 will silently fail to schedule on the Spark or will crash at runtime. Add linux/arm64 alongside every linux/amd64 entry in Hauler manifests for DGX-adjacent components.
:::
The Spark has 128 GB of unified CPU+GPU memory, which is available to inference workloads as a single contiguous pool — this is different from discrete GPU configurations where VRAM is separate and limited.