Extending Kubernetes - Lessons Learned From an L4 Ingress Implementation
summary
Implements a SharedLoadBalancer CRD plus controller that creates one cloud L4 load balancer and maps multiple cluster services to different external ports (uses a dummy port 3333 listener to bootstrap). Controller calls cloud SDKs to add forwarding rules, open security groups/firewalls, create nodePort services, and stores IP and port in CR status so callers know where to connect. Demos show TCP and UDP working on GCP, IBM Cloud (IKS) and AWS; capacity is configurable (demo uses capacity 5 and 2) and provider quirks require per-cloud handling. Code is on GitHub.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:39Background
- 1:57Service Types
- 2:55NodePort
- 3:29Service Type Load Balancer
- 4:40Ingress Object
- 6:50Missing Feature
- 7:12Background and Motivation
- 7:52Single External IP
- 8:13Shared Load Balancer
- 9:41The problem
- 11:41Demo
- 16:06IBM Cloud
- 25:27Conclusion
related talks
37mBuilding the Multi-Cluster L7 Load Balancer
34mMulticluster Ingress Powered by Kubernetes Cluster Registry - Greg Harmon & Nikhil Jindal
23mBuilding Unified Global Load Balancing for the Edge With k8gb
15mSimplify Kubernetes Connectivity
33mCloud Native Load Balancing From Scratch
32mCloud Native Global Load Balancer for Kubernetes
22mCloud Native Multi Cluster/Multicloud Global Load Balancer for Kubernetes
36mKubernetes Multi-Cluster Made Easy - Federica Ciuffo and Marco Ballerini
