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
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ΒΆ
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
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
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 <https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/README.md#from-51x-to-52x>.
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>
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