Upgrade and UninstallΒΆ

Robusta is upgraded using helm upgrade. For detailed instructions, see Helm Upgrade.

On rare occasions, in addition to a helm upgrade, some manual steps are required.

Does my upgrade require manual steps?ΒΆ

You will need to perform a Manual Upgrade when both:

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

  • The embedded Prometheus is enabled (enablePrometheusStack: true)

In all other cases, you can do a Helm Upgrade and no more.

Helm UpgradeΒΆ

Find the Helm values that you installed Robusta with (typically a generated_values.yaml file). 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 a cluster running 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ΒΆ

In addition to running helm upgrade, some version updates require 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.

Manual upgrade instructionsΒΆ

  1. Manually remove the node-exporter daemonset and admission webhooks:

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 Prometheus Operator 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.70.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl replace -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
  1. If you're upgrading from Robusta v0.10.27 or below and using thanos please check if you need to adapt your config according to the kube-prometheus-stack upgrade docs.

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