Layer-4- und Layer-7-Lastausgleich

Kubernetes unterstützt Lastenausgleich auf zwei Arten: Layer-4-Lastenausgleich und Layer-7-Lastenausgleich.

Layer-4-Lastausgleichscontroller

Der Layer-4-Lastausgleichscontroller (oder der externe Lastausgleichscontroller) leitet den Datenverkehr an Nodeports weiter. Der Layer-4-Lastausgleichscontroller ermöglicht es Ihnen, sowohl HTTP- als auch TCP-Datenverkehr weiterzuleiten.

Es ist möglich, einen Cluster mit einem nicht-cloudbasierten Lastausgleichscontroller, wie MetalLB. bereitzustellen. Dieser Anwendungsfall ist jedoch komplexer als der von einem Cloud-Anbieter unterstützte Layer-4-Lastausgleichscontroller und ist in Rancher nicht konfigurierbar.

Unterstützung für Layer-4-Lastausgleich

Die Unterstützung für den Layer-4-Lastausgleichscontroller variiert je nach dem zugrunde liegenden Cloud-Anbieter.

Cluster-Bereitstellung Unterstützung für Layer-4-Lastausgleichscontroller

Amazon EKS

Unterstützt von AWS-Cloud-Anbieter

Google GKE

Unterstützt von GCE-Cloud-Anbieter

Azure AKS

Unterstützt von Azure-Cloud-Anbieter

Drittanbieter MetalLB

Drittanbieter Ingress*

Layer-7-Lastausgleichscontroller

Der Layer-7-Lastausgleichscontroller (oder der Ingress-Controller) unterstützt Host- und Pfad-basierten Lastausgleich sowie SSL-Terminierung. Ein Layer-7-Lastausgleichscontroller leitet nur HTTP- und HTTPS-Verkehr weiter und überwacht daher ausschließlich die Ports 80 und 443. Cloud-Anbieter wie Amazon und Google unterstützen den Layer-7-Lastausgleichscontroller.

Unterstützung für Layer-7-Lastausgleich

Die Unterstützung für den Layer-7-Lastausgleichscontroller variiert je nach dem zugrunde liegenden Cloud-Anbieter.

Cluster-Bereitstellung Unterstützung für Layer-7-Lastausgleichscontroller

Amazon EKS

Unterstützt von AWS-Cloud-Anbieter

Google GKE

Unterstützt durch den GKE-Cloud-Anbieter

Azure AKS

Nicht unterstützt

Hostnamen im Layer-7-Lastausgleichscontroller

Einige cloudverwaltete Layer-7-Lastausgleichscontroller (wie der ALB-Ingress-Controller auf AWS) geben DNS-Adressen für Ingress-Regeln bekannt. Sie müssen Ihren Domainnamen (über CNAME) der vom Layer-7-Lastausgleichscontroller generierten DNS-Adresse zuordnen.

Andere Layer-7-Lastausgleichscontroller, wie der Google Load Balancer, geben direkt eine oder mehrere IP-Adressen bekannt. Der Google-Load-Balancer bietet eine einzige routbare IP-Adresse. Sie können eine der folgenden Aktionen durchführen:

  1. Konfigurieren Sie Ihr eigenes DNS, um (über A-Einträge) Ihren Domainnamen den vom Layer-7-Lastausgleichscontroller bereitgestellten IP-Adressen zuzuordnen.

  2. Bitten Sie Rancher, einen xip.io-Hostname für Ihre Ingress-Regel zu generieren. Rancher wird eine Ihrer exponierten IPs, sagen wir a.b.c.d, nehmen und einen Hostnamen <ingressname>.<namespace>.a.b.c.d.xip.io generieren.

Der Vorteil der Verwendung von xip.io besteht darin, dass Sie sofort nach der Erstellung der Ingress-Regel eine funktionierende Einstiegspunkt-URL erhalten. Die Einrichtung Ihres eigenen Domainnamens erfordert hingegen, dass Sie DNS-Server konfigurieren und auf die DNS-Propagation warten.