Hier ist eine Methode, die so lange funktioniert, wie Sie die Anfragen von einem Container innerhalb des k8s-Netzwerks senden können (dies entspricht vielleicht nicht genau dem Wunsch des OPs, aber ich schätze, das kann für jemanden funktionieren, der das googelt).
Sie müssen die Pods irgendwie nachschlagen. Hier Ich finde alle Schoten im staging
Namensraum mit der Bezeichnung app=hot-app
:
kubectl get pods -l app=hot-app -n staging -o json | jq -r '.items[].status.podIP'
dieses Beispiel verwendet das ehrfürchtige jq Werkzeug, um die resultierende json und ergreifen Sie die Schote ips zu analysieren, aber Sie können die json auf andere Weise analysieren einschließlich mit kubectl selbst.
gibt diese etwas wie folgt aus:
10.245.4.253
10.245.21.143
Sie den internen Port wie diese finden kann (zB nur einen Behälter hat, so eine eindeutige Port):
kubectl get pods -l app=hot-app -n staging -o json | jq -r '.items[].spec.containers[].ports[].containerPort' | sort | uniq
8080
dann bekommen Sie in einem Container in Ihrem K8S-Cluster mit Curl, kombinieren Sie die ips und Port von den vorherigen Befehlen, und schlagen Sie die Pods wie folgt:
curl 10.245.4.253:8080/hot-path
curl 10.245.21.143:8080/hot-path