Bare Metal cluster with multiple network interfaces

Hi dear team. I’ve just started my journey in k0s, and I have tiny question about networking.
I have few bare-metal nodes which I want to join to k8s cluster using k0s.
Each of the nodes has two network interfaces

  • One network interface is used to have direct connectivity between those machines and it has 100Gbit dedicated network, but no external access.
  • Second network interface is facing internet, but this one is just 1Gbit

I’m planning to use k0s with cillium.

What do I want to achieve:

  • All in-cluster networking happens through the fast network
  • NodePorts / kube-api endpoint should be present either on both network interfaces, or at least on the external.

My question is: is it configuration of k0s, or it is part of cillium? Is there documentation which explains a bit deeper this matter.

Thanks you very much in advance.

Assuming this means pod-to-pod networking, then it’s something that the CNI (cilium) provider needs to be configured with. Usually CNI providers have some configs to pick the interface. Not familiar with Cilium details so unfortunately cannot give any pointers on that.

By default NodePort is exposed on all interfaces. You can configure this using k0s config spec.network.kubeProxy.nodePortAddresses, check the upstream reference for further details