Skip to content

A Docker image with Kubernetes manifests for investigation and troubleshooting.

License

Notifications You must be signed in to change notification settings

nosportugal/debug-pod

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The ultimate debug pod

A Docker image with Kubernetes toolink for investigation and troubleshooting your cluster.

main build main release

Purpose

This is an image based on the DOKS team's pod, full of tooling to make diagnostics and tests inside a container/kubernetes pod.

This way you won't have to install a bunch of tooling on your pods.

Usage

The easiest way to start a pod in the current context and namespace is:

kubectl run --rm -it debug-pod --pod-running-timeout 300 --image=ghcr.io/nosportugal/debug-pod:master

You can also have at hand this nice alias:

alias debug-pod='kubectl run --rm -it debug-pod --pod-running-timeout 300 --image=ghcr.io/nosportugal/debug-pod:master'

Then you can do stuff from anywhere. The most useful example that I can think of is:

debug-pod --context some-cluster -n some-namespace

Tooling

Once you're in, you have access to the set of tools listed in the Dockerfile. This includes:

  • vim - is a greatly improved version of the good old UNIX editor Vi.
  • screen - is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
  • curl - is a command-line tool for transferring data specified with URL syntax.
  • jq - is a lightweight and flexible command-line JSON processor.
  • dnsutils - includes various client programs related to DNS that are derived from the BIND source tree, specifically dig, nslookup, and nsupdate.
  • iputils-ping - includes the ping tool that sends ICMP ECHO_REQUEST packets to a host in order to test if the host is reachable via the network.
  • tcpdump - a powerful command-line packet analyzer; and libpcap, a portable C/C++ library for network traffic capture.
  • traceroute - tracks the route packets taken from an IP network on their way to a given host.
  • net-tools - includes the important tools for controlling the network subsystem of the Linux kernel, specifically arp, ifconfig, and netstat.
  • netcat - is a multi-tool for interacting with TCP and UDP; it can open TCP connections, send UDP packets, listen on arbitrary TCP and UDP ports, do port scanning, and deal with both IPv4 and IPv6.
  • iproute2 - is a collection of utilities for controlling TCP / IP networking and traffic control in Linux.
  • strace - is a diagnostic, debugging and instructional userspace utility with a traditional command-line interface for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state.
  • docker - is the CLI tool used for interacting with Docker containers on the system.
  • dstat - is a versatile replacement for vmstat, iostat, netstat and ifstat. Dstat overcomes some of their limitations and adds some extra features, more counters and flexibility. Dstat is handy for monitoring systems during performance tuning tests, benchmarks or troubleshooting.
  • htop - is interactive process viewer for Unix systems.
  • atop - is an advanced interactive monitor for Linux-systems to view the load on system-level and process-level.

About

A Docker image with Kubernetes manifests for investigation and troubleshooting.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Dockerfile 94.9%
  • Shell 5.1%