https://github.com/sapcc/kube-detective
A Kubernetes Network Validation Tool
https://github.com/sapcc/kube-detective
Last synced: about 1 year ago
JSON representation
A Kubernetes Network Validation Tool
- Host: GitHub
- URL: https://github.com/sapcc/kube-detective
- Owner: sapcc
- License: apache-2.0
- Created: 2016-07-22T14:20:03.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-12T09:12:17.000Z (over 1 year ago)
- Last Synced: 2025-04-15T11:12:44.680Z (about 1 year ago)
- Language: Go
- Size: 29.3 MB
- Stars: 30
- Watchers: 51
- Forks: 6
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kubernetes Network Detective
This tool is used to validate the network setup of a Kubernetes cluster. It
goes beyond the basic e2e tests and verifies each node of a cluster. This
allows to find even the most arcane or temporary network problems.
## Test Bed
Before any testing the following test bed is being created:
* Ephemeral Namespace
* Two pods per node. One with `hostNetwork` mode enabled, one without.
* For each pod a service is created. A unique external IP is assigned to
each.
## Test Scenarios
To test connectivty the tool will call a `kubectl exec wget http://$IP:$PORT`.
It tests the following scenarios.
* Connectivity from Pod to Pod
* Connectivity from Pod to ClusterIP to Pod
* Connectivity from Pod to ExternalIP to Pod
It tests all possible permutations. This is not feasable for large clusters...
Only `schedulable` nodes are taken into account.
## Running
Default load order for `.kubeconfig` applies. If you have a working `kubectl`
it will just work
```
kube-detective -externalCIDR 10.44.11.32/27
```
Additional logging can be enabled by setting `--v=2` or `--v=3`.
## Docker image
Docker image with latest binary is available at [sapcc/kube-detective](https://hub.docker.com/repository/docker/sapcc/kube-detective).