Haftungsausschluss: Ich für Stackpoint arbeiten, nachdem verschiedene Möglichkeiten untersuchen wir Ingress-Controller für unser Produkt entschieden, so meine Antwort auf ingresses vorgespannt ist.
Mit ingress
+ ingress Controller
können Sie externe Lasten auf die Pods-Endpunkte ausgleichen. Während Services Ressourcen sind, deren Hauptziel darin besteht, Pods zu verfolgen und (unter anderem) Routen zu erstellen, ist Ingress eine viel bessere Möglichkeit, Regelregeln zu definieren. Inzwischen es:
- Hostnamen Unterstützt
- TLS-Spezifikation unterstützt Geheimnisse mit
- Route auf Pfaden basierend Kann
- definieren Standard-Backends
Der große Nachteil bei Eindringen ist, dass Sie benötigen eine Ingress-Steuerung, die auf Ingress wartet, Endpunkte auflöst, Konfigurationsänderungen an den Balancer kommuniziert und sie gegebenenfalls neu lädt. Da wir die Kontrolle darüber haben, was der Ingress dem Balancer sagen wird, können wir Keepalives, Sticky-Sitzungen, Healthchecks usw. konfigurieren.
Mit Hilfe von Diensten haben Sie nicht die volle Kontrolle über alle diese Parameter.
Es gibt eine nginx example bei kubernetes/contrib, die die meisten Szenarien entsprechen sollte. Bei Stackpoint verwenden wir unseren eigenen haproxy Ingress Controller und sind ziemlich zufrieden mit den Ergebnissen (und haben Ingress-Management von unserer UI in Kürze)
Die ingress kubernetes page enthält mehr Informationen, und im unteren Teil einen Abschnitt mit einigen Links zu die Alternativen.
Vielen Dank, was ich in der Dokumentation gelesen habe Ich brauche 'NodePort' hier und nicht ein' LoadBalancer' in der Tat. –