Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save EliFuzz/379c9b54f0e9b0fca20d69effe6990f9 to your computer and use it in GitHub Desktop.
Save EliFuzz/379c9b54f0e9b0fca20d69effe6990f9 to your computer and use it in GitHub Desktop.
Table Overview: Types of Load Balancers in Kubernetes
Load Balancer Type Load Balancing Methods Protocol Support Traffic Management Security Features Scalability Complexity Integration Cost Additional Features Tools
Layer 4 Load Balancers Supports basic load balancing methods such as Round Robin, Least Connections, and IP Hash Typically supports TCP, UDP, SCTP, and ICMP Handles traffic at the network layer, focusing on throughput and low latency May offer basic security features such as SSL/TLS termination and firewall rules Highly scalable, capable of handling massive traffic loads Generally simpler and easier to configure than Layer 7 load balancers Tightly integrates with Kubernetes using plugins and operators Open source and free, with minimal operational costs May offer features such as link aggregation, packet filtering, and QoS IPVS, HAProxy
Layer 7 Load Balancers Supports advanced load balancing methods such as Session Persistence, Server Affinity, and Geolocation-based routing Supports HTTP, HTTPS, WebSocket, and other advanced protocols Manipulates traffic at the application layer, allowing for more advanced routing decisions and transformations Provides advanced security features such as Web Application Firewall (WAF), JSON/XML filtering, and authentication Designed for high traffic volumes and scalable microservices architectures More complex and configurable than Layer 4 load balancers Integrates with Kubernetes using plugins and operators Commercial products with licensing fees, but may offer additional features and support Includes features like load balancing analytics, health checks, and bot protection NGINX Plus, Envoy Proxy
Hybrid Load Balancers (combines Layer 4 & 7) Offers a mix of basic and advanced load balancing methods Supports multiple protocols, including TCP, UDP, SCTP, ICMP, and HTTP(S) Combines Layer 4 and Layer 7 load balancing capabilities for versatile traffic management Inherits security features from both Layer 4 and Layer 7 load balancers Scalable due to the combination of Layer 4 and Layer 7 load balancing Moderately complex, requiring some networking and application delivery knowledge Works with Kubernetes using a combination of Layer 4 and Layer 7 plugins and operators Combination of open source and commercial components, potentially lowering costs May include features such as service discovery, DNS management, and traffic inspection NGINX Plus, Citrix NetScaler, F5 BIG-IP, Zephyr Virtual ADC
Cloud-based Load Balancers Provides automated scaling and load balancing features, but limited customization options Varies depending on the cloud provider, but generally supports a wide range of protocols Automatically scales and load balances traffic across multiple nodes and regions Offers security features such as SSL/TLS offloading, DDoS protection, and access controls Automatically scales to meet changing traffic demands Simplifies load balancing configurations and scaling decisions Seamlessly integrates with respective cloud providers' services and tools Cloud-provider dependent, but generally billed based on usage and resource allocation Offers features like auto-scaling, rolling updates, and regional load balancing AWS ELB, GCP Load Balancing, Azure Load Balancer
Custom Load Balancers using Third-Party Tools Allows for custom load balancing logic using third-party tools and APIs Can support any protocol that can be implemented using third-party tools and libraries Can manipulate traffic using custom code and plugins Can integrate with third-party security tools and plugins Can scale custom load balancers using third-party tools and plugins Can be complex to set up and maintain custom load balancers using third-party tools Can integrate with various third-party tools and platforms using APIs and plugins Varies depending on the choice of third-party tools and plugins Can incorporate additional features using third-party tools and plugins -
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment