Kubeinit / kubeinit

Ansible automation to have a KUBErnetes cluster INITialized as soon as possible...
https://www.kubeinit.org
Apache License 2.0
218 stars 57 forks source link

How to create additional interfaces on compute nodes #644

Open njayakrishna opened 2 years ago

njayakrishna commented 2 years ago

Hi, I wanted to know how do we modify the inventory file to created multiple interfaces on the compute nodes. Currently when I am running the script, all the compute/worker node VMs get one interface installed, e.g.: enp1s0/10.0.0.2 with the gateway assigned to tun0 (10.0.0.254 address on LR0) and the OVN components programmed accordingly. My requirement is to configure an additional interface (e.g. enp7s0/11.0.0.2 with gateway 11.0.0.254) on the compute nodes and the gateway getting configured on the same lines as the first interface/network. Is there a way that the current implementation of KubeInit can do this? Thanks in advance for your help.

ccamacho commented 2 years ago

Hi,

So far adding additional interfaces to the compute nodes is not supported, maybe if you could share your use case we could add it in the future.

njayakrishna commented 2 years ago

Hi Camacho, The use case is for multiple interfaces for pods running on the worker nodes. As you are aware this is typically achieved using secondary CNIs using multus CNI. When we have these extra or secondary interfaces in the pods, we want to be able to specify a separate interface on the worker node VMs as the 'master' field in the CNIs, so that the pod's secondary interface traffic land in these newly created interfaces on the worker node VMs. From my understanding of the Kubeinit networking model, my request is to have a second bridge installed. Please correct me if I am wrong: 1) Similar to the bridge kimgtnet0 catering to 10.0.0.x network, we would require another bridge say kimgtnet1 catering to the new subnet 20.0.0.x. 2) We would then need to create a new gateway say 20.0.0.254 on the LR0 router similar to the gateway for 10.0.0.0 subnet.

Would be it possible to incorporate this via the ansible script with the option in the inventory file? Thanks for your time.

-Jayakrishna