Kubernetes 1.11: IPVS Load Balancing and CoreDNS Cluster Integrations

Orchestrating high-performance services. We analyze kube-proxy IPVS rules, CoreDNS namespaces, and scaling limits.

VP
SHIVAM ITCS
·4 July 2018·10 min read·1 views

Technical Overview & Strategic Context

While Kubernetes clusters scale to host thousands of pods, routing network traffic to dynamic endpoints efficiently becomes a bottleneck. Kube-proxy traditionally relied on iptables rules, which scan sequential lists on every packet request. This sequential scanning slows down execution in large clusters with thousands of services. Kubernetes 1.11, released in July 2018, addressed this by promoting IPVS (IP Virtual Server) load balancing to General Availability and making CoreDNS the default cluster DNS server.

Architectural Principle: Use IPVS load balancing in place of iptables for large-scale clusters. Decouple routing from sequential table lookups to ensure stable network latency.

Core Concepts & Architectural Blueprint

IPVS utilizes hash tables internally, achieving constant-time lookup complexity O(1) regardless of cluster size. This design allows kube-proxy to route packets quickly, even in clusters with tens of thousands of services. CoreDNS is a modular, fast DNS server written in Go, replacing the older Kube-DNS server to improve cluster name resolution speeds.

Performance & Capability Comparison

Kubernetes PrimitiveKube-DNS / iptables eraCoreDNS / IPVS era (1.11)Operational Scale Benefit
Traffic RoutingSequential table scans (iptables)Hash table lookup O(1) (IPVS)Maintains low network latency at scale
Name ResolutionHeavy multi-container Kube-DNSSingle-container modular CoreDNSReduces memory overhead for DNS
ScalabilityDegrades at 5,000+ servicesSupports 20,000+ services smoothlyEnables large cluster deployments

Implementation & Code Pattern

To configure IPVS routing and CoreDNS inside Kubernetes 1.11 clusters, follow these settings:

  • Verify IPVS kernel modules are loaded on all cluster nodes.
  • Configure kube-proxy configuration manifests, setting mode to ipvs.
  • Deploy CoreDNS configs, mapping system namespace requirements.
  • Verify lookup speeds using DNS diagnostic containers in the cluster.
yamlcode
# Kube-proxy configuration manifest enabling IPVS mode in Kubernetes 1.11
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
  excludeCIDRs: null
  minSyncPeriod: 5s
  scheduler: "rr" # Round-robin load balancing scheduling
  syncPeriod: 30s

Operational Governance & Future Outlook

The graduation of IPVS load balancing and CoreDNS in Kubernetes 1.11 resolved key scaling limits for container networks, ensuring clusters maintain stable network performance as they grow.

VP
Vijay Paliwal
Founder, SHIVAM ITCS · 18+ years enterprise & AI engineering
MCA · Ex-HiveGPT USA · Ex-Social27 Seattle
Kubernetes 1.11: IPVS Load Balancing and CoreDNS Cluster Integrations | SHIVAM ITCS Blog | SHIVAM ITCS