Merge pull request #1520 from PaytmLabs/feature/recommended-instance-label

This commit is contained in:
Paweł Krupa 2021-11-25 12:42:03 +01:00 committed by GitHub
commit 974b37e620
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 42 additions and 47 deletions

View File

@ -11,6 +11,7 @@ local defaults = {
}, },
commonLabels:: { commonLabels:: {
'app.kubernetes.io/name': 'alertmanager', 'app.kubernetes.io/name': 'alertmanager',
'app.kubernetes.io/instance': defaults.name,
'app.kubernetes.io/version': defaults.version, 'app.kubernetes.io/version': defaults.version,
'app.kubernetes.io/component': 'alert-router', 'app.kubernetes.io/component': 'alert-router',
'app.kubernetes.io/part-of': 'kube-prometheus', 'app.kubernetes.io/part-of': 'kube-prometheus',
@ -100,9 +101,7 @@ function(params) {
apiVersion: 'v1', apiVersion: 'v1',
kind: 'Secret', kind: 'Secret',
type: 'Opaque', type: 'Opaque',
metadata: am._metadata { metadata: am._metadata,
labels+: { alertmanager: am._config.name },
},
stringData: { stringData: {
'alertmanager.yaml': if std.type(am._config.config) == 'object' 'alertmanager.yaml': if std.type(am._config.config) == 'object'
then then
@ -115,25 +114,19 @@ function(params) {
serviceAccount: { serviceAccount: {
apiVersion: 'v1', apiVersion: 'v1',
kind: 'ServiceAccount', kind: 'ServiceAccount',
metadata: am._metadata { metadata: am._metadata,
labels+: { alertmanager: am._config.name },
},
}, },
service: { service: {
apiVersion: 'v1', apiVersion: 'v1',
kind: 'Service', kind: 'Service',
metadata: am._metadata { metadata: am._metadata,
labels+: { alertmanager: am._config.name },
},
spec: { spec: {
ports: [ ports: [
{ name: 'web', targetPort: 'web', port: 9093 }, { name: 'web', targetPort: 'web', port: 9093 },
{ name: 'reloader-web', port: am._config.reloaderPort, targetPort: 'reloader-web' }, { name: 'reloader-web', port: am._config.reloaderPort, targetPort: 'reloader-web' },
], ],
selector: am._config.selectorLabels { selector: am._config.selectorLabels,
alertmanager: am._config.name,
},
sessionAffinity: 'ClientIP', sessionAffinity: 'ClientIP',
}, },
}, },
@ -144,9 +137,7 @@ function(params) {
metadata: am._metadata, metadata: am._metadata,
spec: { spec: {
selector: { selector: {
matchLabels: am._config.selectorLabels { matchLabels: am._config.selectorLabels,
alertmanager: am._config.name,
},
}, },
endpoints: [ endpoints: [
{ port: 'web', interval: '30s' }, { port: 'web', interval: '30s' },
@ -162,9 +153,7 @@ function(params) {
spec: { spec: {
maxUnavailable: 1, maxUnavailable: 1,
selector: { selector: {
matchLabels: am._config.selectorLabels { matchLabels: am._config.selectorLabels,
alertmanager: am._config.name,
},
}, },
}, },
}, },
@ -174,9 +163,6 @@ function(params) {
kind: 'Alertmanager', kind: 'Alertmanager',
metadata: am._metadata { metadata: am._metadata {
name: am._config.name, name: am._config.name,
labels+: {
alertmanager: am._config.name,
},
}, },
spec: { spec: {
replicas: am._config.replicas, replicas: am._config.replicas,

View File

@ -19,6 +19,7 @@ local defaults = {
ruleSelector: {}, ruleSelector: {},
commonLabels:: { commonLabels:: {
'app.kubernetes.io/name': 'prometheus', 'app.kubernetes.io/name': 'prometheus',
'app.kubernetes.io/instance': defaults.name,
'app.kubernetes.io/version': defaults.version, 'app.kubernetes.io/version': defaults.version,
'app.kubernetes.io/component': 'prometheus', 'app.kubernetes.io/component': 'prometheus',
'app.kubernetes.io/part-of': 'kube-prometheus', 'app.kubernetes.io/part-of': 'kube-prometheus',
@ -27,7 +28,7 @@ local defaults = {
[labelName]: defaults.commonLabels[labelName] [labelName]: defaults.commonLabels[labelName]
for labelName in std.objectFields(defaults.commonLabels) for labelName in std.objectFields(defaults.commonLabels)
if !std.setMember(labelName, ['app.kubernetes.io/version']) if !std.setMember(labelName, ['app.kubernetes.io/version'])
} + { prometheus: defaults.name }, },
mixin:: { mixin:: {
ruleLabels: {}, ruleLabels: {},
_config: { _config: {
@ -95,9 +96,7 @@ function(params) {
service: { service: {
apiVersion: 'v1', apiVersion: 'v1',
kind: 'Service', kind: 'Service',
metadata: p._metadata { metadata: p._metadata,
labels+: { prometheus: p._config.name },
},
spec: { spec: {
ports: [ ports: [
{ name: 'web', targetPort: 'web', port: 9090 }, { name: 'web', targetPort: 'web', port: 9090 },
@ -239,9 +238,7 @@ function(params) {
spec: { spec: {
minAvailable: 1, minAvailable: 1,
selector: { selector: {
matchLabels: p._config.selectorLabels { matchLabels: p._config.selectorLabels,
prometheus: p._config.name,
},
}, },
}, },
}, },
@ -251,7 +248,6 @@ function(params) {
kind: 'Prometheus', kind: 'Prometheus',
metadata: p._metadata { metadata: p._metadata {
name: p._config.name, name: p._config.name,
labels+: { prometheus: p._config.name },
}, },
spec: { spec: {
replicas: p._config.replicas, replicas: p._config.replicas,
@ -327,7 +323,6 @@ function(params) {
metadata+: p._metadata { metadata+: p._metadata {
name: p._metadata.name + '-thanos-sidecar', name: p._metadata.name + '-thanos-sidecar',
labels+: { labels+: {
prometheus: p._config.name,
'app.kubernetes.io/component': 'thanos-sidecar', 'app.kubernetes.io/component': 'thanos-sidecar',
}, },
}, },
@ -337,7 +332,6 @@ function(params) {
{ name: 'http', port: 10902, targetPort: 10902 }, { name: 'http', port: 10902, targetPort: 10902 },
], ],
selector: p._config.selectorLabels { selector: p._config.selectorLabels {
prometheus: p._config.name,
'app.kubernetes.io/component': 'prometheus', 'app.kubernetes.io/component': 'prometheus',
}, },
clusterIP: 'None', clusterIP: 'None',
@ -351,7 +345,6 @@ function(params) {
metadata+: p._metadata { metadata+: p._metadata {
name: 'thanos-sidecar', name: 'thanos-sidecar',
labels+: { labels+: {
prometheus: p._config.name,
'app.kubernetes.io/component': 'thanos-sidecar', 'app.kubernetes.io/component': 'thanos-sidecar',
}, },
}, },
@ -359,7 +352,6 @@ function(params) {
jobLabel: 'app.kubernetes.io/component', jobLabel: 'app.kubernetes.io/component',
selector: { selector: {
matchLabels: { matchLabels: {
prometheus: p._config.name,
'app.kubernetes.io/component': 'thanos-sidecar', 'app.kubernetes.io/component': 'thanos-sidecar',
}, },
}, },

View File

@ -2,8 +2,8 @@ apiVersion: monitoring.coreos.com/v1
kind: Alertmanager kind: Alertmanager
metadata: metadata:
labels: labels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0
@ -15,8 +15,8 @@ spec:
kubernetes.io/os: linux kubernetes.io/os: linux
podMetadata: podMetadata:
labels: labels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0

View File

@ -3,6 +3,7 @@ kind: PodDisruptionBudget
metadata: metadata:
labels: labels:
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0
@ -12,7 +13,7 @@ spec:
maxUnavailable: 1 maxUnavailable: 1
selector: selector:
matchLabels: matchLabels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus

View File

@ -3,6 +3,7 @@ kind: PrometheusRule
metadata: metadata:
labels: labels:
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0

View File

@ -2,8 +2,8 @@ apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
labels: labels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0

View File

@ -2,8 +2,8 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
labels: labels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0
@ -18,8 +18,8 @@ spec:
port: 8080 port: 8080
targetPort: reloader-web targetPort: reloader-web
selector: selector:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
sessionAffinity: ClientIP sessionAffinity: ClientIP

View File

@ -2,8 +2,8 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
labels: labels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0

View File

@ -3,6 +3,7 @@ kind: ServiceMonitor
metadata: metadata:
labels: labels:
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 0.23.0 app.kubernetes.io/version: 0.23.0
@ -16,7 +17,7 @@ spec:
port: reloader-web port: reloader-web
selector: selector:
matchLabels: matchLabels:
alertmanager: main
app.kubernetes.io/component: alert-router app.kubernetes.io/component: alert-router
app.kubernetes.io/instance: main
app.kubernetes.io/name: alertmanager app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus

View File

@ -3,6 +3,7 @@ kind: ClusterRole
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,6 +3,7 @@ kind: ClusterRoleBinding
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,6 +3,7 @@ kind: PodDisruptionBudget
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -13,6 +14,6 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
prometheus: k8s

View File

@ -3,10 +3,10 @@ kind: Prometheus
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
prometheus: k8s
name: k8s name: k8s
namespace: monitoring namespace: monitoring
spec: spec:
@ -24,10 +24,10 @@ spec:
podMetadata: podMetadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
prometheus: k8s
podMonitorNamespaceSelector: {} podMonitorNamespaceSelector: {}
podMonitorSelector: {} podMonitorSelector: {}
probeNamespaceSelector: {} probeNamespaceSelector: {}

View File

@ -3,6 +3,7 @@ kind: PrometheusRule
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,6 +3,7 @@ kind: RoleBinding
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -5,6 +5,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -23,6 +24,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -41,6 +43,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,6 +3,7 @@ kind: Role
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -5,6 +5,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -42,6 +43,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -79,6 +81,7 @@ items:
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,10 +3,10 @@ kind: Service
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
prometheus: k8s
name: prometheus-k8s name: prometheus-k8s
namespace: monitoring namespace: monitoring
spec: spec:
@ -19,7 +19,7 @@ spec:
targetPort: reloader-web targetPort: reloader-web
selector: selector:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
prometheus: k8s
sessionAffinity: ClientIP sessionAffinity: ClientIP

View File

@ -3,6 +3,7 @@ kind: ServiceAccount
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1

View File

@ -3,6 +3,7 @@ kind: ServiceMonitor
metadata: metadata:
labels: labels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 2.31.1 app.kubernetes.io/version: 2.31.1
@ -17,6 +18,6 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/component: prometheus app.kubernetes.io/component: prometheus
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: prometheus app.kubernetes.io/name: prometheus
app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/part-of: kube-prometheus
prometheus: k8s