parent
2bba69695c
commit
eff81356ff
@ -0,0 +1,64 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
set -eu |
||||||
|
|
||||||
|
cd $(dirname $0) |
||||||
|
|
||||||
|
## <setup> |
||||||
|
|
||||||
|
kubectl create -f iperf3.yaml |
||||||
|
|
||||||
|
until $(kubectl get pods -l app=iperf3-server -o jsonpath='{.items[0].status.containerStatuses[0].ready}'); do |
||||||
|
echo "Waiting for iperf3 server to start..." |
||||||
|
sleep 5 |
||||||
|
done |
||||||
|
|
||||||
|
echo "Server is running" |
||||||
|
echo |
||||||
|
|
||||||
|
CLIENTS=$(kubectl get pods -l app=iperf3-client -o name | cut -d'/' -f2) |
||||||
|
|
||||||
|
for POD in ${CLIENTS}; do |
||||||
|
until $(kubectl get pod "${POD}" -o jsonpath='{.status.containerStatuses[0].ready}'); do |
||||||
|
echo "Waiting for ${POD} to start..." |
||||||
|
sleep 5 |
||||||
|
done |
||||||
|
done |
||||||
|
|
||||||
|
echo "All clients are running" |
||||||
|
echo |
||||||
|
|
||||||
|
kubectl get pod -o=custom-columns=NAME:.metadata.name,NODE:.spec.nodeName,IP-NODE:.status.hostIP,IP-POD:status.podIP |
||||||
|
|
||||||
|
echo |
||||||
|
|
||||||
|
## </setup> |
||||||
|
## <run> |
||||||
|
|
||||||
|
CLIENTS=$(kubectl get pods -l app=iperf3-client -o name | cut -d'/' -f2) |
||||||
|
|
||||||
|
for POD in ${CLIENTS}; do |
||||||
|
HOST=$(kubectl get pod "${POD}" -o jsonpath='{.status.hostIP}') |
||||||
|
kubectl exec -it "${POD}" -- iperf3 -c iperf3-server -T "Client on ${HOST}" "$@" |
||||||
|
echo |
||||||
|
done |
||||||
|
|
||||||
|
echo "Now all clients flood the server at the same time..." |
||||||
|
|
||||||
|
for POD in ${CLIENTS}; do |
||||||
|
echo "[Run] iperf-client pod ${POD}" |
||||||
|
kubectl exec -it "${POD}" -- iperf3 -c iperf3-server "$@" &> /dev/null & |
||||||
|
done |
||||||
|
|
||||||
|
until [[ $(jobs | grep -v Running) != "" ]]; do |
||||||
|
printf "." |
||||||
|
sleep 2 |
||||||
|
done |
||||||
|
printf " done\n" |
||||||
|
|
||||||
|
## </run> |
||||||
|
## <clean> |
||||||
|
|
||||||
|
kubectl delete --cascade -f iperf3.yaml |
||||||
|
|
||||||
|
## </clean> |
Loading…
Reference in new issue