From 5e375b394b6dff3ea3f283c1bf5a7c81e94c9a7e Mon Sep 17 00:00:00 2001 From: Maxime Brunet <maxime.brunet@paytm.com> Date: Tue, 23 Nov 2021 12:40:02 -0800 Subject: [PATCH] Use recommended instance label for Prometheus/Alertmanager resources --- .../components/alertmanager.libsonnet | 28 +++++-------------- .../components/prometheus.libsonnet | 16 +++-------- manifests/alertmanager-alertmanager.yaml | 4 +-- .../alertmanager-podDisruptionBudget.yaml | 3 +- manifests/alertmanager-prometheusRule.yaml | 1 + manifests/alertmanager-secret.yaml | 2 +- manifests/alertmanager-service.yaml | 4 +-- manifests/alertmanager-serviceAccount.yaml | 2 +- manifests/alertmanager-serviceMonitor.yaml | 3 +- manifests/prometheus-clusterRole.yaml | 1 + manifests/prometheus-clusterRoleBinding.yaml | 1 + manifests/prometheus-podDisruptionBudget.yaml | 3 +- manifests/prometheus-prometheus.yaml | 4 +-- manifests/prometheus-prometheusRule.yaml | 1 + manifests/prometheus-roleBindingConfig.yaml | 1 + ...metheus-roleBindingSpecificNamespaces.yaml | 3 ++ manifests/prometheus-roleConfig.yaml | 1 + .../prometheus-roleSpecificNamespaces.yaml | 3 ++ manifests/prometheus-service.yaml | 4 +-- manifests/prometheus-serviceAccount.yaml | 1 + manifests/prometheus-serviceMonitor.yaml | 3 +- 21 files changed, 42 insertions(+), 47 deletions(-) diff --git a/jsonnet/kube-prometheus/components/alertmanager.libsonnet b/jsonnet/kube-prometheus/components/alertmanager.libsonnet index df45a5f9..cd9ab9db 100644 --- a/jsonnet/kube-prometheus/components/alertmanager.libsonnet +++ b/jsonnet/kube-prometheus/components/alertmanager.libsonnet @@ -11,6 +11,7 @@ local defaults = { }, commonLabels:: { 'app.kubernetes.io/name': 'alertmanager', + 'app.kubernetes.io/instance': defaults.name, 'app.kubernetes.io/version': defaults.version, 'app.kubernetes.io/component': 'alert-router', 'app.kubernetes.io/part-of': 'kube-prometheus', @@ -100,9 +101,7 @@ function(params) { apiVersion: 'v1', kind: 'Secret', type: 'Opaque', - metadata: am._metadata { - labels+: { alertmanager: am._config.name }, - }, + metadata: am._metadata, stringData: { 'alertmanager.yaml': if std.type(am._config.config) == 'object' then @@ -115,25 +114,19 @@ function(params) { serviceAccount: { apiVersion: 'v1', kind: 'ServiceAccount', - metadata: am._metadata { - labels+: { alertmanager: am._config.name }, - }, + metadata: am._metadata, }, service: { apiVersion: 'v1', kind: 'Service', - metadata: am._metadata { - labels+: { alertmanager: am._config.name }, - }, + metadata: am._metadata, spec: { ports: [ { name: 'web', targetPort: 'web', port: 9093 }, { name: 'reloader-web', port: am._config.reloaderPort, targetPort: 'reloader-web' }, ], - selector: am._config.selectorLabels { - alertmanager: am._config.name, - }, + selector: am._config.selectorLabels, sessionAffinity: 'ClientIP', }, }, @@ -144,9 +137,7 @@ function(params) { metadata: am._metadata, spec: { selector: { - matchLabels: am._config.selectorLabels { - alertmanager: am._config.name, - }, + matchLabels: am._config.selectorLabels, }, endpoints: [ { port: 'web', interval: '30s' }, @@ -162,9 +153,7 @@ function(params) { spec: { maxUnavailable: 1, selector: { - matchLabels: am._config.selectorLabels { - alertmanager: am._config.name, - }, + matchLabels: am._config.selectorLabels, }, }, }, @@ -174,9 +163,6 @@ function(params) { kind: 'Alertmanager', metadata: am._metadata { name: am._config.name, - labels+: { - alertmanager: am._config.name, - }, }, spec: { replicas: am._config.replicas, diff --git a/jsonnet/kube-prometheus/components/prometheus.libsonnet b/jsonnet/kube-prometheus/components/prometheus.libsonnet index 321ddbcf..dcd51ea6 100644 --- a/jsonnet/kube-prometheus/components/prometheus.libsonnet +++ b/jsonnet/kube-prometheus/components/prometheus.libsonnet @@ -19,6 +19,7 @@ local defaults = { ruleSelector: {}, commonLabels:: { 'app.kubernetes.io/name': 'prometheus', + 'app.kubernetes.io/instance': defaults.name, 'app.kubernetes.io/version': defaults.version, 'app.kubernetes.io/component': 'prometheus', 'app.kubernetes.io/part-of': 'kube-prometheus', @@ -27,7 +28,7 @@ local defaults = { [labelName]: defaults.commonLabels[labelName] for labelName in std.objectFields(defaults.commonLabels) if !std.setMember(labelName, ['app.kubernetes.io/version']) - } + { prometheus: defaults.name }, + }, mixin:: { ruleLabels: {}, _config: { @@ -95,9 +96,7 @@ function(params) { service: { apiVersion: 'v1', kind: 'Service', - metadata: p._metadata { - labels+: { prometheus: p._config.name }, - }, + metadata: p._metadata, spec: { ports: [ { name: 'web', targetPort: 'web', port: 9090 }, @@ -239,9 +238,7 @@ function(params) { spec: { minAvailable: 1, selector: { - matchLabels: p._config.selectorLabels { - prometheus: p._config.name, - }, + matchLabels: p._config.selectorLabels, }, }, }, @@ -251,7 +248,6 @@ function(params) { kind: 'Prometheus', metadata: p._metadata { name: p._config.name, - labels+: { prometheus: p._config.name }, }, spec: { replicas: p._config.replicas, @@ -327,7 +323,6 @@ function(params) { metadata+: p._metadata { name: p._metadata.name + '-thanos-sidecar', labels+: { - prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, @@ -337,7 +332,6 @@ function(params) { { name: 'http', port: 10902, targetPort: 10902 }, ], selector: p._config.selectorLabels { - prometheus: p._config.name, 'app.kubernetes.io/component': 'prometheus', }, clusterIP: 'None', @@ -351,7 +345,6 @@ function(params) { metadata+: p._metadata { name: 'thanos-sidecar', labels+: { - prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, @@ -359,7 +352,6 @@ function(params) { jobLabel: 'app.kubernetes.io/component', selector: { matchLabels: { - prometheus: p._config.name, 'app.kubernetes.io/component': 'thanos-sidecar', }, }, diff --git a/manifests/alertmanager-alertmanager.yaml b/manifests/alertmanager-alertmanager.yaml index 6c333aa9..3ffd1ad0 100644 --- a/manifests/alertmanager-alertmanager.yaml +++ b/manifests/alertmanager-alertmanager.yaml @@ -2,8 +2,8 @@ apiVersion: monitoring.coreos.com/v1 kind: Alertmanager metadata: labels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 @@ -15,8 +15,8 @@ spec: kubernetes.io/os: linux podMetadata: labels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 diff --git a/manifests/alertmanager-podDisruptionBudget.yaml b/manifests/alertmanager-podDisruptionBudget.yaml index 71ab4272..8b654777 100644 --- a/manifests/alertmanager-podDisruptionBudget.yaml +++ b/manifests/alertmanager-podDisruptionBudget.yaml @@ -3,6 +3,7 @@ kind: PodDisruptionBudget metadata: labels: app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 @@ -12,7 +13,7 @@ spec: maxUnavailable: 1 selector: matchLabels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus diff --git a/manifests/alertmanager-prometheusRule.yaml b/manifests/alertmanager-prometheusRule.yaml index 91fb8362..92c0966e 100644 --- a/manifests/alertmanager-prometheusRule.yaml +++ b/manifests/alertmanager-prometheusRule.yaml @@ -3,6 +3,7 @@ kind: PrometheusRule metadata: labels: app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 diff --git a/manifests/alertmanager-secret.yaml b/manifests/alertmanager-secret.yaml index ceb65054..1b24f70b 100644 --- a/manifests/alertmanager-secret.yaml +++ b/manifests/alertmanager-secret.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Secret metadata: labels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 diff --git a/manifests/alertmanager-service.yaml b/manifests/alertmanager-service.yaml index f6a13070..2e880ecc 100644 --- a/manifests/alertmanager-service.yaml +++ b/manifests/alertmanager-service.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Service metadata: labels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 @@ -18,8 +18,8 @@ spec: port: 8080 targetPort: reloader-web selector: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus sessionAffinity: ClientIP diff --git a/manifests/alertmanager-serviceAccount.yaml b/manifests/alertmanager-serviceAccount.yaml index ba806b50..5fafffaa 100644 --- a/manifests/alertmanager-serviceAccount.yaml +++ b/manifests/alertmanager-serviceAccount.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: ServiceAccount metadata: labels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 diff --git a/manifests/alertmanager-serviceMonitor.yaml b/manifests/alertmanager-serviceMonitor.yaml index fcc5b9be..52deca0d 100644 --- a/manifests/alertmanager-serviceMonitor.yaml +++ b/manifests/alertmanager-serviceMonitor.yaml @@ -3,6 +3,7 @@ kind: ServiceMonitor metadata: labels: app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.23.0 @@ -16,7 +17,7 @@ spec: port: reloader-web selector: matchLabels: - alertmanager: main app.kubernetes.io/component: alert-router + app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus diff --git a/manifests/prometheus-clusterRole.yaml b/manifests/prometheus-clusterRole.yaml index 7374d80e..f6c67d3d 100644 --- a/manifests/prometheus-clusterRole.yaml +++ b/manifests/prometheus-clusterRole.yaml @@ -3,6 +3,7 @@ kind: ClusterRole metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-clusterRoleBinding.yaml b/manifests/prometheus-clusterRoleBinding.yaml index 03251501..8b4e2086 100644 --- a/manifests/prometheus-clusterRoleBinding.yaml +++ b/manifests/prometheus-clusterRoleBinding.yaml @@ -3,6 +3,7 @@ kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-podDisruptionBudget.yaml b/manifests/prometheus-podDisruptionBudget.yaml index c4569069..5e269196 100644 --- a/manifests/prometheus-podDisruptionBudget.yaml +++ b/manifests/prometheus-podDisruptionBudget.yaml @@ -3,6 +3,7 @@ kind: PodDisruptionBudget metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -13,6 +14,6 @@ spec: selector: matchLabels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus - prometheus: k8s diff --git a/manifests/prometheus-prometheus.yaml b/manifests/prometheus-prometheus.yaml index 4af2ff2b..604ec9c0 100644 --- a/manifests/prometheus-prometheus.yaml +++ b/manifests/prometheus-prometheus.yaml @@ -3,10 +3,10 @@ kind: Prometheus metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 - prometheus: k8s name: k8s namespace: monitoring spec: @@ -24,10 +24,10 @@ spec: podMetadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 - prometheus: k8s podMonitorNamespaceSelector: {} podMonitorSelector: {} probeNamespaceSelector: {} diff --git a/manifests/prometheus-prometheusRule.yaml b/manifests/prometheus-prometheusRule.yaml index f421c74f..40fc26ad 100644 --- a/manifests/prometheus-prometheusRule.yaml +++ b/manifests/prometheus-prometheusRule.yaml @@ -3,6 +3,7 @@ kind: PrometheusRule metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-roleBindingConfig.yaml b/manifests/prometheus-roleBindingConfig.yaml index 5c9d3193..a443c741 100644 --- a/manifests/prometheus-roleBindingConfig.yaml +++ b/manifests/prometheus-roleBindingConfig.yaml @@ -3,6 +3,7 @@ kind: RoleBinding metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-roleBindingSpecificNamespaces.yaml b/manifests/prometheus-roleBindingSpecificNamespaces.yaml index ad08949c..25fe7a47 100644 --- a/manifests/prometheus-roleBindingSpecificNamespaces.yaml +++ b/manifests/prometheus-roleBindingSpecificNamespaces.yaml @@ -5,6 +5,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -23,6 +24,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -41,6 +43,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-roleConfig.yaml b/manifests/prometheus-roleConfig.yaml index 3a43ccf8..8049bffb 100644 --- a/manifests/prometheus-roleConfig.yaml +++ b/manifests/prometheus-roleConfig.yaml @@ -3,6 +3,7 @@ kind: Role metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-roleSpecificNamespaces.yaml b/manifests/prometheus-roleSpecificNamespaces.yaml index ad678393..7821063c 100644 --- a/manifests/prometheus-roleSpecificNamespaces.yaml +++ b/manifests/prometheus-roleSpecificNamespaces.yaml @@ -5,6 +5,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -42,6 +43,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -79,6 +81,7 @@ items: metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-service.yaml b/manifests/prometheus-service.yaml index a0912c7a..f5149f9d 100644 --- a/manifests/prometheus-service.yaml +++ b/manifests/prometheus-service.yaml @@ -3,10 +3,10 @@ kind: Service metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 - prometheus: k8s name: prometheus-k8s namespace: monitoring spec: @@ -19,7 +19,7 @@ spec: targetPort: reloader-web selector: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus - prometheus: k8s sessionAffinity: ClientIP diff --git a/manifests/prometheus-serviceAccount.yaml b/manifests/prometheus-serviceAccount.yaml index 1021f41e..a28cbd41 100644 --- a/manifests/prometheus-serviceAccount.yaml +++ b/manifests/prometheus-serviceAccount.yaml @@ -3,6 +3,7 @@ kind: ServiceAccount metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 diff --git a/manifests/prometheus-serviceMonitor.yaml b/manifests/prometheus-serviceMonitor.yaml index f07717ce..532eb6af 100644 --- a/manifests/prometheus-serviceMonitor.yaml +++ b/manifests/prometheus-serviceMonitor.yaml @@ -3,6 +3,7 @@ kind: ServiceMonitor metadata: labels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.31.1 @@ -17,6 +18,6 @@ spec: selector: matchLabels: app.kubernetes.io/component: prometheus + app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus - prometheus: k8s -- GitLab