We will now configure Robusta in your cluster. For this we need to install Robusta, and also connect at least one destination ("sink"), and at least one source ("triggers").
Download the Helm chart and install Robusta-CLI:
helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update pip install -U robusta-cli --no-cache
Python 3.7 or higher is required
If you are using a system such as macOS that includes both Python 2 and Python 3, run pip3 instead of pip.
Errors about tiller mean you are running Helm 2, not Helm 3
Generate a Robusta configuration. This will setup Slack and other integrations. We highly recommend enabling the cloud UI so you can see all features in action.
Robusta not in PATH
if you get "
command not found: robusta", see Common errors
generated_values.yaml, somewhere safe. This is your Helm
Install Robusta using Helm. On some clusters this can take a while 2, so don't panic if it appears stuck:
helm install robusta robusta/robusta -f ./generated_values.yaml
Verify that Robusta is running two pods and there are no errors in the logs:
kubectl get pods robusta logs
Seeing Robusta in action¶
By default, Robusta sends notifications when Kubernetes pods crash.
Create a crashing pod:
kubectl apply -f https://gist.githubusercontent.com/robusta-lab/283609047306dc1f05cf59806ade30b6/raw
Verify that the pod is actually crashing:
$ kubectl get pods -A NAME READY STATUS RESTARTS AGE crashpod-64d8fbfd-s2dvn 0/1 CrashLoopBackOff 1 7s
Once the pod has reached two restarts, check your Slack channel for a message about the crashing pod.
Open the Robusta UI (if you enabled it) and look for the same message there.
Clean up the crashing pod:
kubectl delete deployment crashpod
See this great video on YouTube where a community member installs Robusta with a stopwatch. If you beat his time by more than 30% and document it, we'll send you a Robusta mug too.
AWS EKS, we're looking at you!
Additional Installation Methods¶
Installing with GitOps
Follow the instructions above to generate
generated_values.yaml. Commit it to git and use ArgoCD or
your favorite tool to install.
Installing without the Robusta CLI
Using the cli is totally optional. If you prefer, you can skip the CLI and fetch the default
helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update helm show values robusta/robusta
Most values are documented in the Configuration Guide
Do not use the
values.yaml file in the GitHub repo. It has some empty placeholders which are replaced during
our release process.
Installing in a different namespace
Create a namespace
robusta and install robusta in the new namespace using:
helm install robusta robusta/robusta -f ./generated_values.yaml -n robusta --create-namespace
Verify that Robusta installed two deployments in the
kubectl get pods -n robusta
Installing on OpenShift
You will need to run one additional command:
oc adm policy add-scc-to-user anyuid -z robusta-runner-service-account
It's possible to reduce the permissions more. Please feel free to open a PR suggesting something more minimal
Installing a second cluster
When installing a second cluster on the same account, there is no need to run
robusta gen-config again.
clusterName in values.yaml. It can have any value as long as it is unique between clusters.