Install with CLI
You can install Kubeshark using two main methods:
The quickest way to get started would be to download the Kubeshark CLI latest release, running
kubeshark tap and pointing your browser to
You can use a shell script to download the right binary for your operating system and CPU architecture:
sh <(curl -Ls https://kubeshark.co/install)
Alternatively, you can download the right binary directly from the latest release.
Install using Homebrew:
brew tap kubeshark/kubeshark brew install kubeshark
While this option is there, due to demand we invest more in the shell script and the Helm options. For this reason, we do not recommend using Homebrew.
Build from the Source
git clone kubeshark/kubeshark cd kubeshark & make
To run the CLI, use the
tap command. For example:
tapcommand options in the
When Kubeshark starts, to expose the dashboard port, it automatically starts a kube-proxy. If kube-proxy creation fails, it defaults to port-forward. Both kube-proxy and port-forward solutions can break after some time. You can always use:
To re-establish a kube-proxy (or port-forward).
You can also, safely exit (use ^C) Kubeshark. It will continue to run in the background. Here again, you can use the
kubehsark proxy command to re-establish a kube-proxy (or port-forward).
To clean all relics of Kubeshark from your cluster when using the CLI:
Exiting Kubeshark using ^C only breaks the kube-proxy / port-forward connection and does not remove Kubeshark from the cluster. Only
clean command does.
Pro tip: use `kubeshark tap; kubeshark clean’ when you run Kubeshark for the CLI.
Change the Default Deployment Namespace
By default Kubeshark installs in the
default namespace. The following commands will create a new namespace named:
<unique-name-space>, and install Kubeshark in it, instead of the
kubectl create namespace <unique-name-space> kubeshark tap --set tap.release.namespace=<unique-name-space>
The following will clean all relics:
kubeshark clean --set tap.release.namespace=<unique-name-space> kubectl delete namespace <unique-name-space>
You can avoid setting the
tap.release.namespace every time by setting it in the
tap: release: repo: https://helm.kubeshark.co name: kubeshark namespace: <unique-name-space>