Skip to main content

Network Planning

IP addressing, DNS design, and network layout for all three environments.

CIDRs

EnvironmentCIDRIP Prefix
Community10.0.0.0/2210.0.0
Carbide10.10.12.0/2210.10.12
Enclave10.10.12.0/2210.10.12

All IPs are derived from ${IP_PREFIX} set in Scripts/env.sh. Carbide and Enclave share the same CIDR — they are never deployed simultaneously.

IP Assignments

Last OctetHostnamePurpose
.1gatewayDefault gateway / router
.8nuc-00-01DNS primary + DHCP + TFTP (infra VM on nuc-00)
.9nuc-00-02DNS secondary (infra VM on nuc-00)
.10nuc-00Admin host (Apache + KVM)
.12librenmsNetwork monitoring (VM, optional)
.93nuc-00-03HAProxy load balancer (infra VM on nuc-00)
.100harvesterHarvester cluster VIP
.101nuc-01Harvester node 1
.102nuc-02Harvester node 2
.103nuc-03Harvester node 3
.111–.113nuc-0x-kvmKVM copy IPs (reserved)
.193nuc-00-03-vipHAProxy Keepalived VIP
.210rancherRancher Manager cluster VIP
.211–.213rancher-01/02/03Rancher Manager nodes
.220observabilityObservability cluster VIP
.221–.223observability-01/02/03Observability nodes
.230appsApplications cluster VIP
.231–.233apps-01/02/03Applications cluster nodes
.251spark-eOptional hardware
.3.1–.3.254(dynamic)DHCP pool (last /24 of the /22)

Wildcard DNS: *.apps.${ENVIRONMENT}.kubernerdes.com${IP_PREFIX}.230

DNS Design

DNS is served by two BIND instances running as KVM VMs on nuc-00:

HostRoleIP
nuc-00-01DNS primary, DHCP, TFTP${IP_PREFIX}.8
nuc-00-02DNS secondary${IP_PREFIX}.9

The DNS zone covers ${BASE_DOMAIN} (e.g., community.kubernerdes.com). All cluster hostnames, VIPs, and wildcard entries must resolve correctly before Harvester installation begins.

HAProxy and Keepalived

HAProxy runs on nuc-00-03 and provides load balancing for:

  • Harvester API/UI — forward to ${IP_PREFIX}.101–103
  • Rancher Manager — forward to ${IP_PREFIX}.211–213

Keepalived provides a VIP (${IP_PREFIX}.193) that floats between nuc-00-03 and a standby, ensuring the load balancer survives a single-node failure.

DHCP and PXE

ISC dhcpd on nuc-00-01 handles:

  • Static leases for all named hosts (bound by MAC address)
  • Dynamic pool in the last /24 of the /22 for temporary/unknown hosts
  • PXE boot coordination — when it detects the iPXE user-class in the DHCP request, it returns the iPXE menu URL instead of ipxe.efi

See PXE Boot for the full boot flow.

Pre-Deployment Checklist

  • Uplink internet access is available on port 16 of the switch
  • All NUCs are cabled according to the switch layout in Hardware
  • Your router/gateway assigns ${IP_PREFIX}.1 as the default gateway
  • No existing DHCP server is active on the network segment
  • DNS for ${BASE_DOMAIN} will be served by nuc-00-01 (not delegated externally)