2016-08-09 21 views
0

Ich habe ein Kubernetes-Setup, das 4 Minions (Node1,2,3,4) enthält. Ich habe einen Dienst erstellt, der Port 80 als Knoten-Port von 30010 verfügbar macht. Es gibt 4 Nginx-Pods, die den Datenverkehr von oben akzeptieren. Die Verteilung der Pods unter den Knoten kann jedoch variieren. Zum Beispiel hat Knoten 1 2 Pods, Knoten 2 hat 1 Pod und Knoten 3 hat 1 Pod. In Knoten 4 ist kein Pod implementiert. Meine Anforderung ist, dass, wenn ich eine Anfrage an node1: 30010 sende, nur 2 Pods auf Knoten 1 treffen und andere Pods nicht treffen sollten. Der Verkehr sollte genau dann zu anderen Knoten geroutet werden, wenn sich kein Pod im lokalen Knoten befindet. Zum Beispiel muss node4 Anforderungen an node4: 30010 an andere Knoten weiterleiten, da kein passender Pod auf ihm deployt ist. Kann ich diese Anforderung durch eine Änderung der Konfiguration von Kube-Proxy erleichtern?Kubernetes NodePort Routing-Logik

Antwort

0

Soweit ich weiß, nein. Hitting node1: 30010 wird Verkehr an den Dienst übergeben, der Dienst wird dann die Antwort round robin.

Kubernetes ist als eine Abstraktionsschicht über Knoten konzipiert, sodass Sie sich keine Gedanken darüber machen müssen, wo Datenverkehr gesendet wird. Der Versuch, den Knotenverkehr zu steuern, steht dieser Idee entgegen.

Können Sie Ihr Endziel erklären? Wenn Ihre verschiedenen Pods unterschiedliche Antworten liefern, möchten Sie möglicherweise mehr Dienste erstellen. Wenn Sie sich Sorgen über Latenz machen und Datenverkehr von dem Knoten aus bedienen möchten, der dem Benutzer am nächsten ist, können Sie sich federating your cluster ansehen.