k8gb  by k8gb-io

Cloud-native global load balancing for Kubernetes clusters

Created 6 years ago
1,171 stars

Top 32.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

k8gb offers a cloud-native, open-source Global Server Load Balancing (GSLB) solution for Kubernetes, addressing the need for reliable, geographically distributed load balancing as an alternative to proprietary systems. It targets operations and development teams managing multi-cluster Kubernetes, enabling native GSLB management via a single Custom Resource Definition (CRD).

How It Works

k8gb employs the time-tested DNS protocol for global scope and reliability across dispersed Kubernetes clusters. It integrates Kubernetes-native health checks (Liveness/Readiness probes) for intelligent load balancing decisions. Configuration is simplified via a single Gslb CRD. A key advantage is the absence of a dedicated management cluster, eliminating single points of failure and fitting into existing workflows like GitOps or Helm.

Quick Start & Requirements

Initiate a local setup with make deploy-full-local-setup, provisioning two k3s clusters via k3d, exposing CoreDNS, and deploying k8gb with test applications. This setup requires no external DNS provider. For an AI inference demo, use FULL_LOCAL_SETUP_WITH_AI_DEMO=true. Prometheus metrics are available via make deploy-prometheus. Consult local playground documentation for details.

Highlighted Details

  • Cloud-native GSLB solution for Kubernetes, a CNCF Sandbox Project.
  • Reliable, DNS-based load balancing across geographically dispersed clusters.
  • No single point of failure; no dedicated management cluster.
  • Leverages Kubernetes native health checks (Liveness/Readiness probes).
  • Configuration managed via a single Gslb CRD.
  • Tested with Kubernetes >= 1.21, NGINX/Istio/AWS Load Balancer Controller, and various EdgeDNS providers (Infoblox, Route53, NS1, CloudFlare, AzureDNS, GCP Cloud DNS).

Maintenance & Community

k8gb is a CNCF Sandbox Project. Community engagement occurs via #k8gb on CNCF Slack and bi-weekly meetings (Wednesdays, 13:00 CET). Recordings are on the k8gb YouTube channel. A roadmap is available.

Licensing & Compatibility

The specific open-source license is not explicitly stated in the provided README. k8gb is designed for any conformant Kubernetes cluster (on-prem, cloud, hybrid) and integrates with standard ingress controllers and DNS providers.

Limitations & Caveats

As a CNCF Sandbox Project, k8gb is under active development. The tested environment matrix is conservative, requiring users to validate their specific stack configurations. The absence of a clearly stated license could be a concern for some adoption scenarios. Legacy CRDs are supported but migration to k8gb.io/v1beta1 is recommended.

Health Check
Last Commit

22 hours ago

Responsiveness

Inactive

Pull Requests (30d)
24
Issues (30d)
2
Star History
5 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.