While troubleshooting application connectivity and name resolution issues in Kubernetes we often have to access utilities like ping, nslookup, dig, traceroute, etc. Here is a container image that you can use in those cases. Following are some of the utilities that are pre-installed on this container image:
- ping
- dig
- nslookup
- traceroute
- curl
- wget
- nc
- netstat
- ifconfig
- route
- host
- arp
- iostat
- top
- free
- vmstat
- pmap
- mpstat
- python3
- pip
Run as a pod on Kubernetes
❯ kubectl run debug --image=vineethac/debug -n default -- sleep infinity
Exec into the debug pod
❯kubectl exec -it debug -n default -- bash
root@debug:/# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=49.3 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=45 time=57.4 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=46 time=49.4 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 49.334/52.030/57.404/3.799 ms root@debug:/#
root@debug:/# nslookup google.com Server: 10.96.0.10 Address: 10.96.0.10#53 Non-authoritative answer: Name: google.com Address: 142.250.72.206 Name: google.com Address: 2607:f8b0:4005:80c::200e root@debug:/# exit exit ❯
Reference
https://github.com/vineethac/Docker/tree/main/debug-image
Hope it was useful. Cheers!