metallb - A network load-balancer implementation for Kubernetes using BGP and ARP

  •        57

MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.Check out MetalLB's website for more information.



Related Projects

matchbox - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more)

matchbox is a service that matches bare-metal machines (based on labels like MAC, UUID, etc.) to profiles that PXE boot and provision Container Linux clusters. Profiles specify the kernel/initrd, kernel arguments, iPXE config, GRUB config, Container Linux Config, or other configs a machine should use. Matchbox can be installed as a binary, RPM, container image, or deployed on a Kubernetes cluster and it provides an authenticated gRPC API for clients like Terraform.

Kong - The Microservice API Gateway

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

voyager - ✈️️ Secure Ingress Controller for Kubernetes

Voyager is a HAProxy backed secure L7 and L4 ingress controller for Kubernetes developed by AppsCode. This can be used with any Kubernetes cloud providers including aws, gce, gke, azure, acs. This can also be used with bare metal Kubernetes clusters.Voyager provides L7 and L4 loadbalancing using a custom Kubernetes Ingress resource. This is built on top of the HAProxy to support high availability, sticky sessions, name and path-based virtual hosting. This also support configurable application ports with all the options available in a standard Kubernetes Ingress. Here is a complex ingress example that shows how various features can be used. You can find the generated HAProxy Configuration here.

kubespray - Setup a kubernetes cluster

If you have questions, join us on the kubernetes slack, channel #kubespray.Note: Upstart/SysV init based OS types are not supported.

kube-cert-manager - Manage Lets Encrypt certificates for a Kubernetes cluster.

This is not an official Google Project.The secrets created by the Kubernetes Certificate Manager can be used to configure any TLS terminating load balancer.

Trafik - A Modern Reverse Proxy

Træfik (pronounced like traffic) is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, and a lot more) to manage its configuration automatically and dynamically.

Calico - A pure layer 3 approach for Virtual Networking for highly scalable data centers

Project Calico represents a new approach to virtual networking, based on the same scalable IP networking principles as the Internet. Unlike other virtual networking approaches, Calico does not use overlays, instead providing a pure Layer 3 approach to data center networking. Calico is simple to deploy and diagnose, provides a rich security policy, supports both IPv4 and IPv6 and can be used across a combination of bare-metal, VM and container workloads.

linkerd - Resilient service mesh for cloud native apps

Linkerd is a transparent service mesh, designed to make modern applications safe and sane by transparently adding service discovery, load balancing, failure handling, instrumentation, and routing to all inter-service communication.linkerd (pronouned "linker-DEE") acts as a transparent HTTP/gRPC/thrift/etc proxy, and can usually be dropped into existing applications with a minimum of configuration, regardless of what language they're written in. It works with many common protocols and service discovery backends, including scheduled environments like Mesos and Kubernetes.

kube-router - Kube-router, a turnkey solution for Kubernetes networking.

Kube-router is a turnkey solution for Kubernetes networking with aim to provide operational simplicity and high performance.kube-router does it all.

razor-server - Razor is next generation provisioning software that handles bare metal hardware and virtual server provisioning

Razor is an advanced provisioning application which can deploy both bare-metal and virtual systems. It's aimed at solving the problem of how to bring new metal into a state where your existing DevOps/configuration management workflows can take it over.Newly added machines in a Razor deployment will PXE-boot from a special Razor Microkernel image, then check in, provide Razor with inventory information, and wait for further instructions. Razor will consult user-created policy rules to choose which tasks to apply to a new node, which will begin to follow the task directions, giving feedback to Razor as it completes various steps. Tasks can include steps for handoff to a DevOps system such as Puppet or to any other system capable of controlling the node (such as a vCenter server taking possession of ESX systems).

linkerd-tcp - A TCP/TLS load balancer for the linkerd service mesh.

A TCP load balancer for the linkerd service mesh.We ❤️ pull requests! See for info on contributing changes.

pm2 - Node.js Production Process Manager with a built-in Load Balancer

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.PM2 is constantly assailed by more than 1800 tests.

minuteman - A distributed Load Balancer

A distributed, highly available service discovery & internal load balancer for distributed systems (microservices and containers). You can use the layer 4 load balancer by specifying a VIP from the Marathon UI. The VIP must be specified in the format IP:port, for example: Alternatively, if you're using something other than Marathon, you can create a label on the port protocol buffer while launching a task on Mesos. This label's key must be in the format VIP_$IDX, where $IDX is replaced by a number, starting from 0. Once you create a task, or a set of tasks with a VIP, they will automatically become available to all nodes in the cluster, including the masters.

ironic - A service for managing and provisioning Bare Metal servers.

Ironic consists of an API and plug-ins for managing and provisioning physical machines in a security-aware and fault-tolerant manner. It can be used with nova as a hypervisor driver, or standalone service using bifrost. By default, it will use PXE and IPMI to interact with bare metal machines. Ironic also supports vendor-specific plug-ins which may implement additional functionality.Ironic is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

raspberrypi - Raspberry Pi ARM based bare metal examples

Raspberry Pi ARM based bare metal examples

Artica Load-balancer Appliance

Artica Load-Balancer is load balance and fail over appliance for TCP based services. it is usable for HTTP(S), SSH, SMTP, DNS, etc.. This appliance is typically located between network clients and a farm of servers. It designed to dispatches client requests to servers in the farm so that processing load is distributed.

Neutrino - Neutrino is a software load balancer(SLB)

Neutrino is a software load balancer(SLB) is used by eBay to do L7 Switching and Load Balancing for eBay’s test infrastructure. It is build using Scala and Netty and it uses the Java Virtual Machine (JVM) as run-time environment. Ebay was looking for options to replace their hardware load balancers which are expensive and unable to keep up with the demand. There were two options, either take an open source product like HAProxy or build an in-house one.

HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer

HAProxy is a fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing. Supporting tens of thousands of connections is clearly realistic with todays hardware.

external-dns - Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services

ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.Inspired by Kubernetes DNS, Kubernetes' cluster-internal DNS server, ExternalDNS makes Kubernetes resources discoverable via public DNS servers. Like KubeDNS, it retrieves a list of resources (Services, Ingresses, etc.) from the Kubernetes API to determine a desired list of DNS records. Unlike KubeDNS, however, it's not a DNS server itself, but merely configures other DNS providers accordingly—e.g. AWS Route 53 or Google CloudDNS.

Distributor load balancer

Software load balancer. Accepts connections and distributes them to an array of back end servers. Unique/advanced features include integrated testing of back end servers and optional termination of client connections to misfunctioning servers.