HAProxy Ingress controller
Ingress controller implementation for HAProxy loadbalancer.
HAProxy Ingress is a Kubernetes ingress controller: it configures a HAProxy instance to route incoming requests from an external network to the in-cluster applications. The routing configurations are built reading specs from the Kubernetes cluster. Updates made to the cluster are applied on the fly to the HAProxy instance.
Use HAProxy Ingress
Documentation:
- Getting started guide: /docs/getting-started/
- Global and per ingress/service configuration keys: /docs/configuration/keys/
- Command-line options: /docs/configuration/command-line/
Supported versions:
HAProxy Ingress | Embedded HAProxy |
Supported Kubernetes |
External HAProxy (*) |
---|---|---|---|
v0.13 (latest) |
2.3 |
1.19+ |
2.2+ |
v0.12 |
2.2 |
1.18 - 1.21 |
2.0+ |
v0.10 |
2.0 |
1.8 - 1.21 |
- |
- Beta quality versions (
beta
/canary
tags) has some new, but battle tested features, usually running on some of our production clusters - Development versions (
alpha
/snapshot
tags) has major changes with few tests, usually not recommended for production - (*) Minimum supported HAProxy version if using an external HAProxy instance
Community:
- Slack: We're in the #haproxy-ingress channel on Kubernetes Slack. Take an invite here if not subscribed yet
- Users mailing list: Announcements and discussion on a mailing list
- Stack Overflow: Practical questions and curated answers
Develop HAProxy Ingress
Building:
mkdir -p $GOPATH/src/github.com/jcmoraisjr
cd $GOPATH/src/github.com/jcmoraisjr
git clone https://github.com/jcmoraisjr/haproxy-ingress.git
cd haproxy-ingress
make
The following make
targets are currently supported:
install
: rungo install
which saves some building time.build
(default): compiles HAProxy Ingress and generates an ELF (Linux) executable atrootfs/haproxy-ingress-controller
despite the source platform.test
: run unit testsimage
: generates a Docker image taggedlocalhost/haproxy-ingress:latest