2017-09-02 11 views
0

Ich habe einen K8S-Dienst (Typ = Loadbalancer) mit einer Anzahl von Pods hinter erstellt. Nach meinem Verständnis haben alle von den Pods initiierten Pakete die Quell-IP als PodIP, während diejenigen, die den eingehenden Verkehr beantworten, die Quell-IP als LoadBalancer-IP haben. Also meine Fragen sind:Kubernetes Networking auf Outbound-Paket

  1. Ist mein Anspruch wahr, oder gibt es mal die Quell-IP wird der Knoten IP stattdessen sein?
  2. Gibt es irgendwelche Tricks in k8s, die ich die Quell-IP im ersten Szenario von PodIP zu LB IP ändern kann?
  3. Beliebige Möglichkeit, eine designierte IP-Adresse anzugeben?

Antwort

0

Wie Benutzer315902 sagte, stellte Azure ACS k8s Service mit dem Azure Load Balancer dem Internet zur Verfügung.

Architekturdiagramm Kubernetes Einsatz über Azure Container Service: enter image description here

Ist mein Anspruch wahr, oder es gibt Zeiten, die Quell-IP wird der Knoten IP statt sein?

Wenn wir den Dienst dem Internet aussetzen, denke ich, dass die Quell-IP die öffentliche IP-Adresse des Lastenausgleichs ist. Wenn wir in ACS mehrere Dienste für das Internet bereitstellen, fügt Azure LB mehrere öffentliche IP-Adressen hinzu.

Gibt es irgendwelche Tricks in K8S, die ich den Quell-IP in dem ersten Szenario von PodIP auf LB IP ändern kann ??

Meinst du, du willst die öffentliche IP-Adresse des Knotens verwenden, um den Dienst dem Internet zugänglich zu machen? Wenn ja, können wir Node-IP nicht verwenden, um den Dienst dem Internet zugänglich zu machen. In Azure mussten wir LB verwenden, um den Dienst dem Internet zugänglich zu machen.

+0

Danke @Jason. Es hilft sehr. Nur um in einem Punkt zu bestätigen, gibt es Möglichkeiten, die Pod IP heute zu spezifizieren? (Mein Verständnis ist nein, oder?) – diamondwong

+0

@diamondwong Meinst du, Sie möchten den Dienst dem Internet aussetzen und möchten die öffentliche IP-Adresse dieses Pods angeben? Die Antwort lautet nicht, wir werden die öffentliche IP-Adresse dynamisch beziehen. Wenn Sie diesen Pod entfernen und einen neuen erstellen, wird die IP-Adresse verloren und wir erhalten eine neue IP-Adresse. –

1

Die Pods im internen Netzwerk ausgeführt werden, während die Load-Balancer auf dem Internet ausgesetzt ist, so werden die Adressen der Pakete aussehen wird mehr oder weniger wie folgt aus:

[pod1] <----->  [load balancer]   <-----> [browser] 
10.1.0.123   10.1.0.234 201.123.41.53    217.123.41.53 

Für die pod IP Angabe Schauen Sie sich SessionAffinity an.