OpenShift 4: Installation Bonding Setup

Objective

  • Setting up 2 x LACP bonding using boot params options.
  • At the time this blog is written, Red Hat only support kernel ip argument to setup RHCOS networking.

For guidance on the boot params available look here.

(Cover image : https://unsplash.com/@thomasjsn)

2 x LACP Bonding Interface Boot Options

BondInterfaceFunction
Bond0enp1s0
enp7s0
Default Gateway
Main interface
LACP Aggregate
Bond1eno1
eno2
Secondary Interface – Storage Traffic as example
LACP Aggregate
Non Default Gateway

This is an example for setting up bonding during installation from above table information:

<< TRUNCATED >> 
append ip=192.168.50.144::192.168.50.1:255.255.255.0:worker01.ocp4.local.bytewise.my:bond0:none  bond=bond0:enp1s0,enp7s0:mode=802.3ad,lacp_rate=fast,miimon=100,xmit_hash_policy=layer2+3 ip=10.8.0.144:::255.255.255.0::bond1:none  bond=bond1:eno0,eno1:mode=802.3ad,lacp_rate=fast,miimon=100,xmit_hash_policy=layer2+3 nameserver=192.168.50.254 
<< TRUNCATED >>

Notice that there are two times ip= and bond= options are being used in the above kernel boot option . We do this for every interface and its corresponding ip configuration.

For the ip configuration part, pay attention on the gateway. If the interface should not become a default gateway do not specify the gateway parameter as shown above for bond1 network configurations.

ip=ip::gateway:netmask:hostname:interface:none

Apart from LACP .3ad aggregate, any other bonding method supported by RHEL can be configured using below convention and guidance:

bond= Set up a bonding device with the following syntax: bond=name[:slaves][:options]. Replace name with the bonding device name, slaves with a comma-separated list of physical (ethernet) interfaces, and options with a comma-separated list of bonding options. For example:

bond=bond0:em1,em2:mode=active-backup,tx_queues=32,downdelay=5000

Extra Notes

1. When we tried to use teaming driver, seems teaming is not available to use for now.

2. Example of full active-backup bonding params:

label Install CoreOS 4.3.0 Worker Node
 kernel /openshift4/4.3.0/rhcos-4.3.0-x86_64-installer-kernel
 append ip=192.168.50.144::192.168.50.1:255.255.255.0::bond0:none bond=bond0:enp1s0,enp9s0:mode=active-backup ip=192.168.11.144:::255.255.255.0::bond1:none bond=bond1:enp7s0,enp10s0:mode=active-backup  nameserver=192.168.50.254 rd.neednet=1 coreos.inst.install_dev=vda console=tty0 console=ttyS0 coreos.inst=yes coreos.inst.image_url=http://192.168.50.10:8080/openshift4/images/rhcos-4.3.0-x86_64-metal.raw.gz coreos.inst.ignition_url=http://192.168.50.10:8080/openshift4/4.3.0/ignitions/worker.ign initrd=/openshift4/4.3.0/rhcos-4.3.0-x86_64-installer-initramfs.img

Muhammad Aizuddin Zali

Red Hat APAC-SEATH Senior Platform Consultant for OpenShift.

You may also like...

%d bloggers like this: