Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by zzyzxd on Tuesday December 21, 2021 @05:52PM
(#29643084)
I use MetalLB and the comparison table somewhat confuses me.
> Expose default type of services (ClusterIP) external
What's the use case of this? ClusterIP, by API definition, is used within the cluster. If I need to expose something to external, I use a LoadBalancer service.
MetalLB speakers are commonly deployed as daemonsets. When a new node joins a cluster, the speaker will be deployed onto it by the daemonset controller. Isn't that what "auto-add" means? What kind of auto-add functionality does MetalLB miss?
With that said, software LBs do have a lot of issues, and this is a pretty interesting approach.
Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by alex_saroyan on Tuesday December 21, 2021 @06:26PM
(#29643389)
>> Expose default type of services (ClusterIP) external
> What's the use case of this? ClusterIP, by API definition, is used within the cluster. If I need to expose something to external, I use a LoadBalancer service.
Exactly! You use service of the type LoadBalancer to expose something to the public Internet. You need something that will respond to your LoadBalancer request.
While Metallb is a nice tool for small clusters. Netris offers a way of leveraging open source ecosystem but provide a production grade cloud-like LoadBalancer service together with bunch of other essential things you will need when you are building a private cloud.
Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by alex_saroyan on Tuesday December 21, 2021 @06:11PM
(#29643268)
Exactly!
Load Balancer, Border Router (BGP), NAT, site-to-site VPN -- those essential functions belong in the edge of the network and can all run in a single Linux machine. Using FRR, and DPDK can accelerate the packet processing to production grade (100Gbps per each Linux router)
While Netris glues this things together, and provides modern, declarative means to automatically operate the system.
Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by alex_saroyan on Tuesday December 21, 2021 @04:08PM
(#29642111)
FRR, NF tables, DPDK are all open source.
Netris just dynamically generates proper configurations for these standards open-source packages and glues them together.
Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by alex_saroyan on Tuesday December 21, 2021 @03:53PM
(#29641973)
Hi, thanks.
Two easiest ways of experimenting are:
1) Using our free cloud-based sandbox environment.
2) Installing the free version of Netris on any bare metal or virtual compute.
Re:A Cloud-Like On-Prem Load Balancer for Kubernetes?
by alex_saroyan on Tuesday December 21, 2021 @04:10PM
(#29642136)
Glad that the article is helpful. Any suggestions you wish we cover in future articles that can be helpful to people running on-prem kubernetes clusters?
> Expose default type of services (ClusterIP) external
What's the use case of this? ClusterIP, by API definition, is used within the cluster. If I need to expose something to external, I use a LoadBalancer service.
> Frontend IP Address sharing
The table says MetalLB cannot do this. But isn't it just: https://metallb.universe.tf/usage/#ip-address-sharing ?
> Auto-add Kubernetes nodes
MetalLB speakers are commonly deployed as daemonsets. When a new node joins a cluster, the speaker will be deployed onto it by the daemonset controller. Isn't that what "auto-add" means? What kind of auto-add functionality does MetalLB miss?
With that said, software LBs do have a lot of issues, and this is a pretty interesting approach.
Exactly! You use service of the type LoadBalancer to expose something to the public Internet. You need something that will respond to your LoadBalancer request.
While Metallb is a nice tool for small clusters. Netris offers a way of leveraging open source ecosystem but provide a production grade cloud-like LoadBalancer service together with bunch of other essential things you will need when you are building a private cloud.
What is your use-case?
Metallb is a good product for small use cases. When you consider production, something scalable to 10s 100s or 1000s of nodes then:
auto-add: Every time you add/remove k8s node, you need to tweak your BGP configs to add/remove BGP neighbor (both on Metallb and your router/switch)
ip-address-sharing: MetalLB can share Ip address only when backends are the same, it isn't pure IP address sharing
What do you think?
While Netris glues this things together, and provides modern, declarative means to automatically operate the system.
netris-operator, is open source too.
Do you have specific use-case?
How would this play with a normal stack? Can I experiment and/or generally avoid making a big bet on Netris?
Asking for a friend
https://www.netris.ai/try will guide through each path