diff --git a/jsonnet/kube-prometheus/components/alertmanager.libsonnet b/jsonnet/kube-prometheus/components/alertmanager.libsonnet index 8dd14ba4e5c304274916f505783f277c86b26164..aca1a86619973961ef6cf4aee66414af5e34e1f4 100644 --- a/jsonnet/kube-prometheus/components/alertmanager.libsonnet +++ b/jsonnet/kube-prometheus/components/alertmanager.libsonnet @@ -165,6 +165,24 @@ function(params) { }, }, + podDisruptionBudget: { + apiVersion: 'policy/v1beta1', + kind: 'PodDisruptionBudget', + metadata: { + name: 'alertmanager-' + am.config.name, + namespace: am.config.namespace, + labels: am.config.commonLabels, + }, + spec: { + maxUnavailable: 1, + selector: { + matchLabels: { + alertmanager: am.config.name, + } + am.config.selectorLabels, + }, + }, + }, + alertmanager: { apiVersion: 'monitoring.coreos.com/v1', kind: 'Alertmanager', diff --git a/jsonnet/kube-prometheus/components/prometheus.libsonnet b/jsonnet/kube-prometheus/components/prometheus.libsonnet index 097243a0e074e9f0de62347c626ab54c26d629a8..1a82b3e620f9561160c8720976bf85a63be7e2fe 100644 --- a/jsonnet/kube-prometheus/components/prometheus.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus.libsonnet @@ -236,6 +236,24 @@ function(params) { items: [newSpecificRole(x) for x in p.config.namespaces], }, + podDisruptionBudget: { + apiVersion: 'policy/v1beta1', + kind: 'PodDisruptionBudget', + metadata: { + name: 'prometheus-' + p.config.name, + namespace: p.config.namespace, + labels: p.config.commonLabels, + }, + spec: { + minAvailable: 1, + selector: { + matchLabels: { + prometheus: p.config.name, + } + p.config.selectorLabels, + }, + }, + }, + prometheus: { apiVersion: 'monitoring.coreos.com/v1', kind: 'Prometheus',