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:
-
Konfigurieren Sie Ihr eigenes DNS, um (über A-Einträge) Ihren Domainnamen den vom Layer-7-Lastausgleichscontroller bereitgestellten IP-Adressen zuzuordnen.
-
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.iogenerieren.
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.