{"id":19516473,"url":"https://github.com/pharb/kubernetes-iperf3","last_synced_at":"2025-04-26T06:31:09.008Z","repository":{"id":42079230,"uuid":"129555102","full_name":"Pharb/kubernetes-iperf3","owner":"Pharb","description":"Simple wrapper around iperf3 to measure network bandwidth from all nodes of a Kubernetes cluster","archived":false,"fork":false,"pushed_at":"2022-04-13T14:11:32.000Z","size":6,"stargazers_count":107,"open_issues_count":3,"forks_count":39,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T08:45:32.326Z","etag":null,"topics":["benchmark","iperf3","kubernetes","network-analysis"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pharb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-14T21:17:14.000Z","updated_at":"2024-10-30T04:19:21.000Z","dependencies_parsed_at":"2022-08-12T04:20:19.898Z","dependency_job_id":null,"html_url":"https://github.com/Pharb/kubernetes-iperf3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pharb%2Fkubernetes-iperf3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pharb%2Fkubernetes-iperf3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pharb%2Fkubernetes-iperf3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pharb%2Fkubernetes-iperf3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pharb","download_url":"https://codeload.github.com/Pharb/kubernetes-iperf3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250944003,"owners_count":21511672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","iperf3","kubernetes","network-analysis"],"created_at":"2024-11-10T23:46:13.877Z","updated_at":"2025-04-26T06:31:06.114Z","avatar_url":"https://github.com/Pharb.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kubernetes-iperf3\nSimple wrapper around iperf3 to measure network bandwidth from all nodes of a Kubernetes cluster.\n\n## How to use\n*Make sure you are using the correct cluster context before running this script: `kubectl config current-context`*\n```\n$ ./iperf3.sh\n```\n\nAny options supported by iperf3 can be added, e.g.:\n\n```\n$ ./iperf3.sh -t 2\n```\n\n### NetworkPolicies\nIf you need NetworkPolicies you can install it:\n\n```\n$ kubectl apply -f network-policy.yaml\n```\n\nAnd cleanup afterwards:\n```\n$ kubectl delete -f network-policy.yaml\n```\n\n### Output:\n```\ndeployment.apps \"iperf3-server-deployment\" created\nservice \"iperf3-server\" created\ndaemonset.apps \"iperf3-clients\" created\nWaiting for iperf3 server to start...\nWaiting for iperf3 server to start...\nWaiting for iperf3 server to start...\nServer is running\n\nClient on 172.20.47.197:  Connecting to host iperf3-server, port 5201\nClient on 172.20.47.197:  [  4] local 100.96.0.28 port 37580 connected to 100.65.13.40 port 5201\nClient on 172.20.47.197:  [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd\nClient on 172.20.47.197:  [  4]   0.00-1.00   sec  3.59 GBytes  30.8 Gbits/sec    0   4.00 MBytes\nClient on 172.20.47.197:  [  4]   1.00-2.00   sec  3.66 GBytes  31.5 Gbits/sec    0   4.00 MBytes\nClient on 172.20.47.197:  - - - - - - - - - - - - - - - - - - - - - - - - -\nClient on 172.20.47.197:  [ ID] Interval           Transfer     Bandwidth       Retr\nClient on 172.20.47.197:  [  4]   0.00-2.00   sec  7.25 GBytes  31.1 Gbits/sec    0             sender\nClient on 172.20.47.197:  [  4]   0.00-2.00   sec  7.25 GBytes  31.1 Gbits/sec                  receiver\nClient on 172.20.47.197:\nClient on 172.20.47.197:  iperf Done.\n\nClient on 172.20.57.129:  Connecting to host iperf3-server, port 5201\nClient on 172.20.57.129:  [  4] local 100.96.1.31 port 55166 connected to 100.65.13.40 port 5201\nClient on 172.20.57.129:  [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd\nClient on 172.20.57.129:  [  4]   0.00-1.00   sec   954 MBytes  8.00 Gbits/sec    5   3.10 MBytes\nClient on 172.20.57.129:  [  4]   1.00-2.00   sec   948 MBytes  7.95 Gbits/sec    1   4.22 MBytes\nClient on 172.20.57.129:  - - - - - - - - - - - - - - - - - - - - - - - - -\nClient on 172.20.57.129:  [ ID] Interval           Transfer     Bandwidth       Retr\nClient on 172.20.57.129:  [  4]   0.00-2.00   sec  1.86 GBytes  7.97 Gbits/sec    6             sender\nClient on 172.20.57.129:  [  4]   0.00-2.00   sec  1.85 GBytes  7.93 Gbits/sec                  receiver\nClient on 172.20.57.129:\nClient on 172.20.57.129:  iperf Done.\n\ndeployment.apps \"iperf3-server-deployment\" deleted\nservice \"iperf3-server\" deleted\ndaemonset.apps \"iperf3-clients\" deleted\n```\n\n## Caution\nThis script could potentially disrupt normal cluster operations by causing high CPU and network load.\nUse with care.\n\n## How it works\nThe script will run an iperf3 client inside a pod on every cluster node including the Kubernetes master.\nEach iperf3 client will then sequentially run the same benchmark against the iperf3 server running on the Kubernetes master.\n\nAll required Kubernetes resources will be created and removed after the benchmark finished successfully.\n\nThis has been tested with v1.9.6, v1.10.3 and v1.11.6 of Kubernetes.\n\nThe latest version of this Docker image is used to run iperf3:\nhttps://hub.docker.com/r/networkstatic/iperf3/\n\nDetails on how to use iperf3 can be found here:\nhttps://github.com/esnet/iperf\n\n## Thanks\nThanks to the iperf maintainers for providing such a great tool.\n\n## License\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharb%2Fkubernetes-iperf3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpharb%2Fkubernetes-iperf3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharb%2Fkubernetes-iperf3/lists"}