Upgrade and UninstallΒΆ

Most upgrades are just helm upgrades, but some upgrades require manual steps.

What type of upgrade do I need?ΒΆ

You need a Manual Upgrade when both:

  • Robusta installation fails with com.coreos.monitoring.v1.Prometheus.spec error.

  • The embedded Prometheus is enabled (enablePrometheusStack: true)

In all other cases, do a Simple Upgrade.

Simple UpgradeΒΆ

Find the generated_values.yaml you installed Robusta with. You'll need this to preserve settings during the upgrade.

Where is my generated_values.yaml?

If you lost your generated_values.yaml file, you can extract it from any cluster with Robusta:

helm get values -o yaml robusta > generated_values.yaml

Now do a helm upgrade, passing your existing settings:

helm repo update
helm upgrade robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>

Warning

Do not run helm upgrade --reuse-values

The --reuse-values flag doesn't respect all Chart changes.

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

robusta logs

Manual UpgradeΒΆ

Some upgrades require minor additional steps.

Why are manual upgrades necessary?ΒΆ

Robusta bundles kube-prometheus-stack, which uses CRDs. Helm can't update CRDs, so we update them ourselves. See the Helm Documentation on CRDs for details.

Upgrading from older versionsΒΆ

Follow the steps below to fix any issues with old CRDs

  1. The node-exporter daemonset and admission webhooks needs to be manually removed prior to upgrading:

kubectl delete daemonset -l app=prometheus-node-exporter
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io -l app=kube-prometheus-stack-admission
kubectl delete MutatingWebhookConfiguration -l app=kube-prometheus-stack-admission
  1. Manually update the installed CRDs. For more info, refer to the kube-prometheus-stack docs.

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.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.66.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
  1. Update Robusta with Helm. If you've lost generated_values.yaml, you can extract it from the cluster.

helm repo update
helm upgrade robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
  1. Verify that Robusta is running and there are no errors in the logs:

robusta logs

Installing pre-releasesΒΆ

Install beta version of Robusta with helm upgrade --devel.

UninstallΒΆ

You can uninstall Robusta as follows:

helm uninstall robusta