diff --git a/jsonnet/kube-prometheus/components/alertmanager.libsonnet b/jsonnet/kube-prometheus/components/alertmanager.libsonnet
index df45a5f949cf1500fb15abccf857662b7723704a..cd9ab9dbeb57af038cdb464c0c2bf0cce21cee87 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 321ddbcfc5af0d916403da268c27594949a2423b..dcd51ea67e8e9d322ee3e5a7eaa8c6c9fe4e3226 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 6c333aa9c94572541935b2ae2855aa73a8383907..3ffd1ad0a32c429314bedaccdda6da1e1f6c3243 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 71ab427296326c063951ae83c818e7807181bfae..8b6547777ae5b3e518b4de4d574e825797f8197d 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 91fb836272ecc77ee0885c179a15f573d29f88e9..92c0966eaa66f5eea175ebfe2f6f18186cb40b18 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 ceb65054039643d47911db71392215eeaec7b211..1b24f70b8b49b9fab9b0e3f8c2b392021bc72392 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 f6a13070e54309cffbb5809c5d7e8fe198f18551..2e880ecc7952e9da44937861b5c64699e17f33b8 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 ba806b5042a6c97786047c49475864847e39cfe3..5fafffaab7f03747be1a088bc7c792ab08927b14 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 fcc5b9be18fd8faef8f28896898650bca8dd5ad3..52deca0d6632994cea288e133aa2cc2a47206171 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 7374d80e7cdddfeeea72e2dbbf2264eed4178660..f6c67d3d4dbd6fb2c137d723c27d47d501707148 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 032515017176797c235b5f91ed4d1b7bc7df2284..8b4e20866463ad285576ecf0bacad3da56f54522 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 c456906922eb0dca2685f9fe27706d66b74e43f2..5e269196c52044fbe4fa22685303845c28d46376 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 4af2ff2bf7946802e777e0999eca62bd0cc553ba..604ec9c0180643e778cbcb950e9707f5e1fe3118 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 f421c74f3f4c024efe327069d1e94ad3b7cae0c2..40fc26ad9406241c4e84033730c61077ac3dc5c0 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 5c9d319361fe2661b461c571bbeda808d816893a..a443c74151ded78b76c4444a0d7f54802d25a72d 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 ad08949c79cc2fffebc0bc970751eaa4911df947..25fe7a47413dac0e61f47d0f5bf2fc2538236d95 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 3a43ccf8685b1b0ce11fcb76b3cd33029d7c1203..8049bffb5aa4da187d5da2389325af68ab5881cd 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 ad678393893d8a4189b2f554d8112132326a89a8..7821063cc0ab9441f199047b1a99aad8bcbfac18 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 a0912c7af642ee4d78779b0a78e9f355606ca422..f5149f9d431491dc0b9aef0e9493fe22a13e2299 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 1021f41e9ff6ed04d088855b6c8b6506fb869dea..a28cbd41c223147f177aef534900da79c2850194 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 f07717ce6f6dad47803abcdb7e5cce063710e135..532eb6aff90886e82add5e1633dc825a3d4103f6 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