Upgrade and Uninstall

Robusta is installed with Helm, so Robusta upgrades are just Helm upgrades. Uninstalls are just Helm uninstalls.

Warning

Upgrading an existing release with bundled Prometheus Stack might require manual actions. Read here

Helm Upgrade

This will upgrade Robusta while preserving any custom settings:

helm repo update
helm upgrade robusta robusta/robusta --values=values.yaml

We recommend running the above command exactly as written.

Where is my values.yaml?

If you have lost your values.yaml file, you can extract it from the cluster:

helm get values -o yaml robusta

Verify that Robusta is running and there are no errors in the logs:

robusta logs

Notes

1. We do not recommend running helm upgrade --reuse-values as it doesn't update default values changed in the chart.

  1. To install a Robusta pre-release, run helm upgrade with the --devel flag.

Upgrading with bundled Prometheus Stack

If you didn't install Robusta's bundled Prometheus Stack then you can upgrade at ease. Otherwise, keep reading.

Why do I need to manually upgrade?

Robusta uses kube-prometheus-stack, which creates custom resources also known as CRDs on installation. With Helm v3, CRDs are not updated or removed by default and should be manually handled. Consult also the Helm Documentation on CRDs.

From versions lower than 0.9.1 to latest

  1. Determine Robusta's version by running the following:

helm list
  1. The kube-state-metrics chart needs to be manually removed prior to upgrading:

kubectl delete deployment robusta-kube-state-metrics robusta-kube-prometheus-st-operator  --cascade=orphan
  1. Manually update the installed CRDs (for more info read here):

Warning

If you have an existing Prometheus Operator installed independently of Robusta then be very careful! Upgrading CRDs will impact all Prometheus Operators in your cluster.

kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
  1. Update helm chart and upgrade Robusta (where is my values.yaml):

helm repo update && helm upgrade robusta robusta/robusta -f ./values.yaml
  1. Verify that Robusta is running and there are no errors in the logs:

robusta logs

Helm Uninstall

This will uninstall Robusta:

helm uninstall robusta