iX 8/2021
S. 58
Review
Container

HAProxy Kubernetes Ingress Controller

Brückenbauer

Oliver Frommel

Ingress-Controller sind die Brücken eines Kubernetes-Clusters in die Welt. Mit HAProxy steht für diese Aufgabe eine ausgereifte Proxysoftware zur Verfügung, die als Loadbalancer auch komplexen Containerumgebungen gewachsen ist.

Pods respektive Container bilden in einem Kubernetes-Cluster ein eigenes Universum, das mit privaten IP-Adressen von der Außenwelt abgeschirmt ist. Da man neben den Kubernetes-Infrastrukturdiensten auch Workloads betreibt, die von außerhalb des Clusters erreichbar sein sollen, muss dafür eine Lösung her. Der Weg führt zunächst über Services, die in Kubernetes eine stabile Abstraktion für die flüchtigen Pods bieten: Auch wenn ein Pod einen anderen ersetzt und sich damit etwa die IP-Adresse ändert, bleibt die Konfiguration des Service erhalten, sodass die in den Pods laufenden Dienste von außen unter derselben Adresse erreichbar sind – zumindest innerhalb des Clusters.

Kubernetes-Services kennen vier Arten, ihre Dienste anzubieten: ClusterIP, NodePort, LoadBalancer und ExternalName. ClusterIP ist der Default und darauf beschränkt, innerhalb des Clusters verwendet zu werden. ExternalName ordnet DNS-Namen zu, richtet aber keine Proxyfunktion für die Dienste ein.

Kommentieren