Why Run Kubernetes On-premises?
What network services are critical for running a Kubernetes cluster on-premises?
- Layer-2: virtual networks to enable communication between nodes.
- Layer-3: Routing between multiple Kubernetes clusters and other segments, sometimes even routing between Kubernetes nodes within the same cluster.
- Uplink: connectivity with upstream ISPs (Internet Services Provider) and IXPs (Internet Exchange Point).
- Layer-4 Load balancing: for routing external traffic into Kubernetes cluster. (more about this challenge https://www.netris.ai/cloud-like-load-balancer/ )
- Dynamically respond to pod and node changes in the cluster.
- Some CNIs require peering with network infrastructure to distribute routing information. (see Calico doc: https://projectcalico.docs.tigera.io/networking/bgp )
How are these critical network services provided in the public cloud?
All major public cloud providers automatically configure and provision the necessary networking infrastructure services behind the scenes.
What would it take to get these critical services in traditional networking environment?
Legacy network environments require detailed and manual configuration for each and every network device. It creates unnecessary overhead, waste of time, and room for human error. Then, you need to repeat this tedious network configuration process every time you add or remove a Kubernetes node (think autoscaler).
How to achieve the same cloud-like experience for your physical network?
The Netris-operator follows the events in your Kubernetes API and supplies necessary metadata to the Netris controller for automatic network operation.
Netris software automatically operates your physical network, providing you with a cloud-like user experience.