Installation Guide

Robusta is installed with Helm. You can handwrite the values.yaml, but it is easier to autogenerate it.

The standard installation uses Helm and the robusta-cli, but other alternative methods are described below.

Standard Installation

  1. 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

Warning

If you are using a system such as macOS that includes both Python 2 and Python 3, run pip3 instead of pip.

  1. Generate a Robusta configuration. This will setup Slack and other integrations.

robusta gen-config
  1. Save generated_values.yaml, somewhere safe. This is your Helm values.yaml file.

  2. Install Robusta using Helm:

helm install robusta robusta/robusta -f ./generated_values.yaml
  1. Verify that Robusta installed two deployments in the current namespace:

kubectl get pods

Seeing Robusta in action

By default, Robusta sends Slack notifications when Kubernetes pods crash.

  1. Create a crashing pod:

kubectl apply -f https://gist.githubusercontent.com/robusta-lab/283609047306dc1f05cf59806ade30b6/raw
  1. Verify that the pod is actually crashing:

$ kubectl get pods -A
NAME                            READY   STATUS             RESTARTS   AGE
crashpod-64d8fbfd-s2dvn         0/1     CrashLoopBackOff   1          7s
  1. Once the pod has reached two restarts, check your Slack channel for a message about the crashing pod.

Example Slack Message

  1. Clean up the crashing pod:

kubectl delete deployment crashpod

Forwarding Prometheus Alerts to Robusta

Robusta can improve your existing Prometheus alerts by adding extra context and "fix-it" buttons.

For this to work, you must configure an AlertManager webhook. This is not necessary if you installed Robusta's bundled Prometheus Stack. In that case, the webhook is preconfigured.

Next Steps

  1. Explore the Robusta UI (use the URL you received during installation)

  2. Learn how to write your own Robusta automations.

  3. Learn about Robusta's features for manual troubleshooting

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 values.yaml:

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 robusta namespace:

kubectl get pods -n robusta
Installing a second cluster

When installing a second cluster on the same account, there is no need to run robusta gen-config again.

Just change clusterName in values.yaml. It can have any value as long as it is unique between clusters.