2017-12-19 2 views
0

ich braucheExpose einen Dienst extern in TCP/UDP andere als Loadbalancer

  • einige Schoten aussetzen direkt auf Knoten, für TCP & UDP
  • Lage sein, sie von außen zugreifen können, einzeln

Ich möchte es vermeiden, für jeden Pod einen Loadbancer-Dienst zu erstellen, da kein Loadbalancing erforderlich ist, sondern nur die Exposition gegenüber der Außenwelt.

Ich sehe keine Lösung mit Service oder Ingress.

All dies geschieht in GKE.

Hätte jemand eine Idee?

danke!

+0

Passt 'NodePort' zu Ihren Bedürfnissen? –

+0

@SergiiBishyr Ich habe versucht, aber mein nodeport-Dienst ist nicht extern ausgesetzt (External-IP sagt ) – unludo

+0

Wenn Sie den Pod nicht zur externen Welt aussetzen wollen, und nur dann darauf zugreifen möchten, könnte kubectl port-forward eine Möglichkeit sein um auf den Pod zuzugreifen. –

Antwort

1

Wenn Ihre Knoten von der Außenwelt zugänglich sind, können Sie nur mit hostNetwork: true kommen, es gibt jedoch einige potentielle Probleme damit (dh nur ein Pod pro Host oder potentieller Port steht in Konflikt mit anderen Dingen auf Knoten). Sie benötigen keinen definierten Dienst, da dieser nur die Ports Ihrer Knoten abhören kann (diese müssen auf der Firewall, Sicherheitsrichtlinien oder was auch immer Ihre Knoten von der externen Welt überwacht) geöffnet sein.

Jede Nutzung des Dienstes (außer vielleicht kopflos) führt zu einem Loadbalancing zwischen allen Backing-Pods (ClusterIP, NodePort oder LB), aber nur der LB-Dienst bietet Ihnen eine dedizierte externe IP.

+0

OK Ich habe einen Pod mit HostNetwork erstellt: True, öffnete die IP/Port auf der Firewall, und es funktioniert mit der öffentlichen IP des Knotens. Vielen Dank! – unludo

Verwandte Themen