Switching From External Load Balancing to consul & ingress [I]
summary
Describes replacing external hardware/software load balancers with Consul services + Kubernetes Ingress, using a Go plugin that watches the Kubernetes API to register node IPs and nodePorts. Finds practical problems: Consul default TTL=0 causes 150–300 ms DNS latency before tuning, community consul plugins lack ACL support, and cloud/global LB required running 3 copies per cluster which creates messy wiring. Tests show nginx ingress adds 2–3 ms nginx overhead. Proposes simpler approach: VIP the ingress controller, use CNAMEs per service, or rely on cloud autoscaling to register nodes.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:37About Dan
- 2:07Kubernetes
- 3:23Single Cluster
- 4:32Single Endpoint
- 5:57Kubernetes Plugin
- 6:49Sample Project
- 7:33Challenges
- 8:23Software vs Hardware
- 10:11Three load balancers
- 10:51A better approach
- 11:38Physical vs Cloud
- 12:15Console
- 14:34Experiment
- 15:39Troubleshooting
- 18:26Alternative Solution
- 20:12Cloud Scaling
- 21:47Adding Ingress
- 22:07Skipper
related talks
37mJourney Through Kubernetes Ingress: Past, Present, and Beyond
27mExtending Kubernetes - Lessons Learned From an L4 Ingress Implementation
15mSimplify Kubernetes Connectivity
25mKubernetes Ingress: Do More with Less
42mCo-Evolution of Kubernetes and GCP Networking
49mAdvanced Ingress for Your Kubernetes Apps
32mCloud Native Global Load Balancer for Kubernetes
40mNoverlay Networks for Health and Wellbeing
