Dies ist die Art, wie ich die Strömung in Frage verstehen:Mapping eingehend Port in Kubernetes Dienst zu ander Port Docker Behälter
- Wenn ein Kubernetes Dienst anfordert (über http zum Beispiel) Ich bin mit Port 80
- wird die Anforderung an eine Hülse (noch auf dem Port 80)
- die Port leitet die Anfrage an den (Andockfensters) Behälter, die
- der Behälter verarbeitet die Anfrage
Allerdings zeigt mein Container einen anderen Port an, sagen wir 3000. Wie kann in Schritt 2 oder 3 ein Port-Mapping wie 80: 3000 erstellt werden?
Es gibt verwirrende Optionen wie targetport
und hostport
in den Kubernetes-Dokumenten, die mir nicht geholfen haben. kubectl port-forward
scheint nur den Port meiner lokalen (Entwicklungs-) Maschine an einen bestimmten Pod zum Debuggen weiterzuleiten.
Dies sind die Befehle, die ich für die Einrichtung eines Dienstes in der Google-Cloud nutzen:
kubectl run test-app --image=eu.gcr.io/myproject/my_app --port=80
kubectl expose deployment test-app --type="LoadBalancer"
Es gibt einen Tippfehler, wahrscheinlich weil Sie 'targetPort' für Ihren Dienst als' 3001' definieren, während der Container den Port '3000' freigibt –