Install with Helm

While the CLI is a great option for on-demand usage and running on dev & test clusters, for a more permanent deployment, you can use Helm and add Kubeshark’s Helm repository:

helm repo add kubeshark

Once the repository was added you can install Kubeshark:

helm install kubeshark kubeshark/kubeshark

An example for a somewhat complicated Helm command:

helm install kubeshark kubeshark/kubeshark -n kubeshark --create-namespace \
--set-json 'scripting.env={"AWS_ACCESS_KEY_ID":"AKI..5YF", "AWS_SECRET_ACCESS_KEY": "mbio..gtJuf", "AWS_REGION":"us-east-2", "S3_BUCKET":"demo-kubeshark-co"}' \
--set-json 'tap.annotations={"":"arn:aws:iam::74..50:role/s3-role", "":"internet-facing", "":"ip"}' \
--set tap.ingress.enabled=true \
--set \
--set "tap.ingress.auth.approveddomains={}" \
--set tap.release.namespace=kubeshark \
--set tap.resources.worker.limits.memory=2Gi \
--set-json 'tap.nodeselectorterms=[{"matchExpressions": [ { "key": "kubeshark" , "operator": "In", "values": [ "true" ] } ] }]'

Another popular option:

helm install kubeshark kubeshark/kubeshark -n kubeshark -f ~/.kubeshark/config.yaml


To uninstall the Helm chart:

helm uninstall kubeshark -n <release-namespace>

Change the Default Deployment Namespace

By default Kubeshark installs in the default namespace. Use the following methods to change:

helm install kubeshark kubeshark/kubeshark -n <unique-name-space> --create-namespace \
--set tap.release.namespace=<unique-name-space>

To uninstall:

helm uninstall kubeshark -n <release-space>
kubectl delete namespace <release-space>

Accessing the Dashboard

There are multiple ways to access the dashboard when installed via Helm:


kubectl port-forward service/kubeshark-front 8899:80 -n <release-space>


kubectl proxy -s <release-space>


Read more in the Ingress section.