Skip to main content

Hardware

Systems

HostRoleModelCPURAMNICsNotes
nuc-00Bastion / adminNUC10i7FNKi7-10710U32 GB1DNS, DHCP, NTP, Web, TFTP, step-ca, Hauler
nuc-01Harvester node 1NUC10i7FNHi7-10710U64 GB2Management NIC + VM traffic NIC
nuc-02Harvester node 2NUC10i7FNHi7-10710U64 GB2Management NIC + VM traffic NIC
nuc-03Harvester node 3NUC10i7FNHi7-10710U64 GB2Management NIC + VM traffic NIC
sparkAI inferenceNVIDIA DGX Spark (GB10)arm64128 GB1Joins RKE2 as agent node; arm64 only
nasNAS / NFS storageASUS X99Xeon E5-2630 v394 GB1NFS 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.

NICPurposeConnected to
NIC 1 (management)Harvester OS, cluster management, PXE bootManagement 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.

HostKVM Management IPKVM MAC Address
nuc-0110.0.0.11148:da:35:6f:72:b3
nuc-0210.0.0.11248:da:35:6f:3e:c2
nuc-0310.0.0.11348:da:35:6f:e4:4f
tip

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.

HostPrimary NIC MACStatic IP
nuc-0188:ae:dd:0b:90:7010.0.0.101
nuc-021c:69:7a:ab:23:5010.0.0.102
nuc-0388:ae:dd:0b:af:9c10.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:

DiskDevicePurpose
OS disk/dev/sdaHarvester OS installation
Data disk/dev/nvme0n1Longhorn storage pool (persistent volumes for VMs and workloads)
caution

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 arm64 build
  • GPU Operator images must include linux/arm64 platform 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.