Skip to content

Create Network Profile

A Network Profile configures the networking of Machines in a Machine Pool.

Create a new Network Profile

Create a new Network Profile

  1. Give your Network Profile a Name
    The name is used for reference on meltcloud only and must be unique within your organization. Set Network Profile Name
  2. Add your Link
    Each Profile must contain one or more Links. Add one and pick a name: Link Name The link name determines how the internal bridge will be named. This is especially useful for automation and configuration of the CNI, for example with a Multus NetworkAttachmentDefinition.

    Note: Link names must not exceed 8 alpha-numeric characters due to limitations within the linux kernel.

  3. Plumb your phyiscal uplink
    The Uplink Configuration defines how the external network wiring should be configured. Uplink Configuration You must provide at least one network interface which will be used as the uplink. If multiple interfaces are specified, they will be automatically aggregated into a bond interface.

    Note: By default, bonds are in active-standby configuration, unless you enable LACP (802.3ad). For production environments we highly suggest to use LACP for link aggregation.

  4. Configure Host Networking
    Host Networking defines if and how your Machine will obtain IP addresses for the host. By default, host networking is required for at least one network in order to allow the Machine to communicate with Nest. Host Networking
    • If Native VLAN is enabled, the Machine will obtain an IP address via DHCP on the default untagged network given the specified uplink interface.
    • Additional VLANs can be added, in order to allow obtaining IP addresses via DHCP for additional networks.

    Note: All required VLANs must be configured on the switch ports accordingly

How to configure your Network Profile for a single-homed L2 uplink.

Native VLAN

Single-Homed L2 Uplink with Native VLAN

INFO

If no network profile is assigned at all, it will by default apply this configuration (i.e. Host Networking/DHCP and native VLAN) to all connected network interfaces. If you prefer to restrict usage to a single specific interface, follow these steps:

  1. Create a new Network Profile and give it a name
  2. Add a Link and specify exactly one interface in the interfaces list.
  3. Enable Host Networking and native VLAN to ensure an IP address is obtained via DHCP.

Or use the terraform equivalent:

hcl
resource "meltcloud_network_profile" "l2_uplink_single" {
    name = "l2-uplink-single"

    link {
        name            = "link0"
        interfaces      = ["eth0"]
        lacp            = false
        vlans           = []
        host_networking = true
        native_vlan     = true
    }
}

Multiple VLANs

Single-Homed L2 Uplink with Multiple VLANs

  1. Create a new Network Profile and give it a name
  2. Add a Link and specify exactly one interface in the interfaces list.
  3. Enable Host Networking and specify a list of VLANs to ensure an IP address is obtained via DHCP for all your VLANs.

Or use the terraform equivalent:

hcl
resource "meltcloud_network_profile" "l2_uplink_single_vlans" {
    name = "l2-uplink-single-vlans"

    link {
        name            = "link0"
        interfaces      = ["eth0"]
        lacp            = false
        vlans           = [123, 689]
        host_networking = true
        native_vlan     = false
    }
}

How to configure your Network Profile for a dual-homed L2 uplink with link aggregation.

Native VLAN

Dual-Homed L2 Uplink with Native VLAN

To build a L2 Link aggregation with the native VLAN:

  1. Create a new Network Profile and give it a name
  2. Add a Link and specify at least two interfaces in the interfaces list.
  3. Enable LACP for automatic link handling and active/active setups, else it will default into actice/standby.
  4. Enable Host Networking and native VLAN to ensure an IP address is obtained via DHCP.

Or use the terraform equivalent:

hcl
resource "meltcloud_network_profile" "l2_uplink_lacp" {
    name = "l2-uplink-lacp"

    link {
        name            = "link0"
        interfaces      = ["eth0", "eth1"]
        lacp            = true
        vlans           = []
        host_networking = true
        native_vlan     = true
    }
}

Multiple VLANs

Dual-Homed L2 Uplink with Multiple VLANs

To build a L2 Link aggregation with multiple VLANs:

  1. Create a new Network Profile and give it a name
  2. Add a Link and specify at least two interfaces in the interfaces list.
  3. Enable LACP for automatic link handling and active/active setups, else it will default into actice/standby.
  4. Enable Host Networking and specify a list of VLANs to ensure an IP address is obtained via DHCP for all your VLANs.

Or use the terraform equivalent:

hcl
resource "meltcloud_network_profile" "l2_uplink_lacp_vlans" {
    name = "l2-uplink-lacp-vlans"

    link {
        name            = "link0"
        interfaces      = ["eth0", "eth1"]
        lacp            = true
        vlans           = [123, 689]
        host_networking = true
        native_vlan     = false
    }
}

How to configure your Network Profile for a dual-homed L3 uplink with ECMP (equal cost multipath).

Dual-Homed L3 Uplink with ECMP

INFO

This setup requires a running BGP daemon on your machine to peer with the network routing fabric. CNIs like Cilium or Calico offer such capabilities.

  1. Create a new Network Profile and give it a name
  2. Add two links and specify exactly one interface each in the interfaces list.
  3. Enable Host Networking and native VLAN to ensure an IP address is obtained via DHCP.

Or use the terraform equivalent:

hcl
resource "meltcloud_network_profile" "l3_uplink_bgp_ecmp" {
    name = "l2-uplink-bgp-ecmp"

    link {
        name            = "link0"
        interfaces      = ["eth0"]
        lacp            = false
        vlans           = []
        host_networking = true
        native_vlan     = true
    }

    link {
        name            = "link1"
        interfaces      = ["eth1"]
        lacp            = false
        vlans           = []
        host_networking = true
        native_vlan     = true
    }
}