Skip to content

Subnet Addressing

The configuration of the Subnet define how Machines receive network settings (IP addresses, routes, DNS, NTP etc.).

There are two adressing modes:

AddressingWho hands out network addresses & settingsWhen to use
DHCPA DHCP server provided by the customerIf there is already an existing DHCP server that should/must be used
IPAMFoundry itselfIf there's no DHCP server or if the network configuration should live in meltcloud

DHCP

In a Subnet with addressing mode DHCP, a DHCP server (configured by the customer) must provide the following settings via DHCP.

Missing or additional settings can be specified in the Subnet's configuration in meltcloud.

SettingUsed forExampleDHCP optionRequiredCan be specified in meltcloud
IP addressThe Machine's address on the segment10.0.10.11/24the lease itselfyesno
GatewayThe default route10.0.10.13yesno
DNSName resolution10.0.10.53, 10.0.10.546yesyes
NTPTime synchronisation10.0.10.60, 10.0.10.6142noyes
Search DomainsResolving unqualified nameslab.example.com, example.com15 and 119noyes
MTUFrame size900026noyes
RoutesReaching other segments10.0.20.0/24 via 10.0.10.1121noyes

If both the DHCP server and the Subnet configuration specify a value, the Subnet's value takes precedence.

Example Kea configuration

json
{
  "Dhcp4": {
    "subnet4": [
      {
        "subnet": "10.10.10.0/24",
        "pools": [
          { "pool": "10.10.10.100 - 10.10.10.200" }
        ],
        "option-data": [
          { "name": "routers", "data": "10.10.10.1" }, // sets default gw / route
          { "name": "domain-name", "data": "lab.example.com" }, // dns search domain
          { "name": "domain-name-servers", "data": "10.10.10.53, 10.10.10.54" }, // dns servers
          { "name": "ntp-servers", "data": "10.10.10.60" }, //  ntp source
        ]
      }
    ]
  }
}

As Terraform: DHCP Subnets.

IPAM

In this case, Foundry owns all IP addresses and network settings, no DHCP server needed at all.

The settings are specified in the Subnet itself:

SettingUsed forExampleRequired
IP PoolAn IP Pool provides IP addresses10.0.10.0/24 from IP Pool wl-prdyes
GatewayThe default route10.0.10.1yes
DNSName resolution10.0.10.53, 10.0.10.54yes
NTPTime synchronisation10.0.10.60, 10.0.10.61no
Search DomainsResolving unqualified nameslab.example.com, example.comno
MTUFrame size9000no
RoutesReaching other segments10.0.20.0/24 via 10.0.10.1no

As Terraform: IPAM Subnets.

Pinned/Static IP addresses

By default, IP addresses that are distributed from IP Pools to Machines are randomly assigned and not guaranteed to be static over time.

In general, unstable Machine IPs are sufficient: Kubernetes workers do not require static IP addresses or DNS names. However, if there is some external system (or legacy guideline) that expects to reach Machines via static IPs (or DNS Names that point to static IPs), you can pin IP addresses to Machines.

Enrollment on IPAM Subnets

If a Machine enrolls on a Subnet with IPAM addressing mode, it tries to allocate an IP address from the IP Pool by using RFC 5227 (ARP probing).

There might be some network setups where this approach doesn't work - in that case, check Enrollment fails on an IPAM Subnet.


Next, see how Network Profiles attach a Machine to these Subnets.