Load Balancer: HAProxy 2.0 bringt Neuerungen für HTTP und die Cloud
In der neuen LTS-Version 2.0 liefern die Entwickler des Open-Source-Load-Balancers HAProxy unter anderem mit einem Kubernetes Ingress Controller und einer Data-Plane-API aus. Auch den Linux-Support hat das Team vereinheitlicht.

Das Team des Load-Balancers HAProxy hat die aktuelle Version 2.0 mit Langzeitunterstützung veröffentlicht. Dank des verbesserten Multithreading- und Logging-Supports soll sich HAProxy nun besser in Cloud-Native-Umgebungen einsetzen lassen. Die Software setzt zudem so viele Worker Threads ein, wie sie CPU-Kerne auf der Maschine vorfindet. Fehlen solche Infos, beschränkt sich HAProxy auf einen Thread. Zudem lassen sich die Log-Informationen nun über stdout, stderr oder einen File-Descriptor ausleiten.
Laut der Ankündigung haben die Macher des Load Balancers auch HTX (Native HTTP Representation) weiter ausgebaut, das bereits seit HAProxy 1.9 verfügbar ist. Die Funktion legt unter anderem die Grundlage für Zero Roundtrip Time Resumption (0-RTT), den Support für das RPC-Framework gRPC und Ende-zu-Ende-Support für HTTP/2 (mit und ohne TLS) in HAProxy. Auch künftige HTTP-Protokolle lassen sich dank HTX einfacher integrieren. Daneben unterstützt HAProxy 2.0 Prometheus-Metriken und Traffic Shadowing. Die Erweiterbarkeit um andere Programmiersprachen ist ebenso integriert wie ein serverseitiger Socks4-Layer.
Verschiedene Daemons als Sidecar
Dank der angekündigten Data Plane APIs können Admins nun dynamisch Frontends, Backends und Server ergänzen und entfernen. Dabei werden ACL-Regeln erstellt, Routing-Anweisungen für HTTP integriert, IP- und Port-Bindings gesetzt und vieles Weitere. Der API-Daemon läuft dabei als sogenannter Sidecar-Prozess und lässt sich über die neue Direktive "program" im Prozessmanager auch atomar verwalten.
Letzteres trifft auch auf die Stream Processing Offload Agents (SPOAs) zu, die ebenfalls als Sidecar laufen können. Ein Beispiel dafür wäre der Traffic Shadow Daemon. Dieser kümmert sich um das oben erwähnte Traffic Shadowing. Dank diesem leitet HAProxy bestimmte Anfragen in eine weitere HAProxy-Umgebung weiter (etwa für Tests). Der Daemon verwendet dabei einen Stream Processing Offload Agent (SPOA) und läuft als Sidecar.
Kubernetes-Controller
Der Kubernetes Ingress Controller kümmert sich um die eingehenden Datenmengen für Kubernetes-basierte Anwendungen. Er bringt Support für TLS Offloading, Layer-7-Routing, Bandbreitenkontrolle und Whitelisting mit. Konfigurieren lassen sich die Controller über Configmap oder Annotations. Auch die Möglichkeit, Secrets zu definieren, um die TLS-Zertifikate zu verwalten, gibt es.
Die Entwickler haben darüber hinaus ein einheitliches Build-Target für aktuelle Linux-Systeme mit einer ebenfalls aktuellen Version der Glibc erstellt. Bisher waren die Targets auf verschiedene und teils sehr alte Linux-Versionen unterteilt. Dank des neuen Targets kann das Team das Vorhandensein bestimmter Linux-Funktion einfach voraussetzen und diese nutzen. Dazu gehören Namespaces, TCP Fast Open und der Systemaufruf getaddrinfo().
Weitere ausführliche Details der umfangreichen Neuerungen von HAProxy 2.0 bietet der Blogpost zur Ankündigung. Herunterladen lässt sich die kostenlose Community-Variante der freien Software über die Webseite.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Die Erkennung anhand der TLS SNI im TCP Modus funktioniert allerdings nur, wenn man nicht...