jsonnet: add recommended k8s labels
This commit is contained in:
@@ -51,6 +51,17 @@
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
replicas: 3,
|
replicas: 3,
|
||||||
|
labels: {
|
||||||
|
'app.kubernetes.io/name': 'alertmanager-' + $._config.alertmanager.name,
|
||||||
|
'app.kubernetes.io/version': $._config.versions.alertmanager,
|
||||||
|
'app.kubernetes.io/component': 'router',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
|
},
|
||||||
|
selectorLabels: {
|
||||||
|
[labelName]: $._config.alertmanager.labels[labelName]
|
||||||
|
for labelName in std.objectFields($._config.alertmanager.labels)
|
||||||
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -87,13 +98,16 @@
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'alertmanager-' + $._config.alertmanager.name,
|
name: 'alertmanager-' + $._config.alertmanager.name,
|
||||||
namespace: $._config.namespace,
|
namespace: $._config.namespace,
|
||||||
labels: { alertmanager: $._config.alertmanager.name },
|
labels: { alertmanager: $._config.alertmanager.name } + $._config.alertmanager.labels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'web', targetPort: 'web', port: 9093 },
|
{ name: 'web', targetPort: 'web', port: 9093 },
|
||||||
],
|
],
|
||||||
selector: { app: 'alertmanager', alertmanager: $._config.alertmanager.name },
|
selector: {
|
||||||
|
app: 'alertmanager',
|
||||||
|
alertmanager: $._config.alertmanager.name
|
||||||
|
} + $._config.alertmanager.selectorLabels,
|
||||||
sessionAffinity: 'ClientIP',
|
sessionAffinity: 'ClientIP',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -104,15 +118,13 @@
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'alertmanager',
|
name: 'alertmanager',
|
||||||
namespace: $._config.namespace,
|
namespace: $._config.namespace,
|
||||||
labels: {
|
labels: $._config.alertmanager.labels,
|
||||||
'k8s-app': 'alertmanager',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: {
|
matchLabels: {
|
||||||
alertmanager: $._config.alertmanager.name,
|
alertmanager: $._config.alertmanager.name,
|
||||||
},
|
} + $._config.alertmanager.selectorLabels,
|
||||||
},
|
},
|
||||||
endpoints: [
|
endpoints: [
|
||||||
{ port: 'web', interval: '30s' },
|
{ port: 'web', interval: '30s' },
|
||||||
@@ -128,12 +140,15 @@
|
|||||||
namespace: $._config.namespace,
|
namespace: $._config.namespace,
|
||||||
labels: {
|
labels: {
|
||||||
alertmanager: $._config.alertmanager.name,
|
alertmanager: $._config.alertmanager.name,
|
||||||
},
|
} + $._config.alertmanager.labels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
replicas: $._config.alertmanager.replicas,
|
replicas: $._config.alertmanager.replicas,
|
||||||
version: $._config.versions.alertmanager,
|
version: $._config.versions.alertmanager,
|
||||||
image: $._config.imageRepos.alertmanager + ':' + $._config.versions.alertmanager,
|
image: $._config.imageRepos.alertmanager + ':' + $._config.versions.alertmanager,
|
||||||
|
podMetadata: {
|
||||||
|
labels: $._config.alertmanager.labels,
|
||||||
|
},
|
||||||
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
nodeSelector: { 'kubernetes.io/os': 'linux' },
|
||||||
serviceAccountName: 'alertmanager-' + $._config.alertmanager.name,
|
serviceAccountName: 'alertmanager-' + $._config.alertmanager.name,
|
||||||
securityContext: {
|
securityContext: {
|
||||||
|
|||||||
@@ -12,6 +12,17 @@ local ksm = import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-
|
|||||||
kubeStateMetrics+:: {
|
kubeStateMetrics+:: {
|
||||||
scrapeInterval: '30s',
|
scrapeInterval: '30s',
|
||||||
scrapeTimeout: '30s',
|
scrapeTimeout: '30s',
|
||||||
|
labels: {
|
||||||
|
'app.kubernetes.io/name': 'kube-state-metrics',
|
||||||
|
'app.kubernetes.io/version': $._config.versions.kubeStateMetrics,
|
||||||
|
'app.kubernetes.io/component': 'exporter',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
|
},
|
||||||
|
selectorLabels: {
|
||||||
|
[labelName]: $._config.kubeStateMetrics.labels[labelName]
|
||||||
|
for labelName in std.objectFields($._config.kubeStateMetrics.labels)
|
||||||
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
kubeStateMetrics+::
|
kubeStateMetrics+::
|
||||||
@@ -21,6 +32,8 @@ local ksm = import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-
|
|||||||
namespace:: $._config.namespace,
|
namespace:: $._config.namespace,
|
||||||
version:: $._config.versions.kubeStateMetrics,
|
version:: $._config.versions.kubeStateMetrics,
|
||||||
image:: $._config.imageRepos.kubeStateMetrics + ':v' + $._config.versions.kubeStateMetrics,
|
image:: $._config.imageRepos.kubeStateMetrics + ':v' + $._config.versions.kubeStateMetrics,
|
||||||
|
commonLabels:: $._config.kubeStateMetrics.labels,
|
||||||
|
podLabels:: $._config.kubeStateMetrics.selectorLabels,
|
||||||
service+: {
|
service+: {
|
||||||
spec+: {
|
spec+: {
|
||||||
ports: [
|
ports: [
|
||||||
@@ -58,18 +71,11 @@ local ksm = import 'github.com/kubernetes/kube-state-metrics/jsonnet/kube-state-
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'kube-state-metrics',
|
name: 'kube-state-metrics',
|
||||||
namespace: $._config.namespace,
|
namespace: $._config.namespace,
|
||||||
labels: {
|
labels: $._config.kubeStateMetrics.labels,
|
||||||
'app.kubernetes.io/name': 'kube-state-metrics',
|
|
||||||
'app.kubernetes.io/version': version,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
selector: {
|
selector: { matchLabels: $._config.kubeStateMetrics.selectorLabels },
|
||||||
matchLabels: {
|
|
||||||
'app.kubernetes.io/name': 'kube-state-metrics',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
endpoints: [
|
endpoints: [
|
||||||
{
|
{
|
||||||
port: 'https-main',
|
port: 'https-main',
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
labels: {
|
labels: {
|
||||||
'app.kubernetes.io/name': 'node-exporter',
|
'app.kubernetes.io/name': 'node-exporter',
|
||||||
'app.kubernetes.io/version': $._config.versions.nodeExporter,
|
'app.kubernetes.io/version': $._config.versions.nodeExporter,
|
||||||
|
'app.kubernetes.io/component': 'exporter',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
},
|
},
|
||||||
selectorLabels: {
|
selectorLabels: {
|
||||||
[labelName]: $._config.nodeExporter.labels[labelName]
|
[labelName]: $._config.nodeExporter.labels[labelName]
|
||||||
|
|||||||
@@ -8,7 +8,17 @@
|
|||||||
prometheusAdapter+:: {
|
prometheusAdapter+:: {
|
||||||
name: 'prometheus-adapter',
|
name: 'prometheus-adapter',
|
||||||
namespace: $._config.namespace,
|
namespace: $._config.namespace,
|
||||||
labels: { name: $._config.prometheusAdapter.name },
|
labels: {
|
||||||
|
'app.kubernetes.io/name': $._config.prometheusAdapter.name,
|
||||||
|
'app.kubernetes.io/version': $._config.versions.prometheusAdapter,
|
||||||
|
'app.kubernetes.io/component': 'metrics-adapter',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
|
},
|
||||||
|
selectorLabels: {
|
||||||
|
[labelName]: $._config.prometheusAdapter.labels[labelName]
|
||||||
|
for labelName in std.objectFields($._config.prometheusAdapter.labels)
|
||||||
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
|
},
|
||||||
prometheusURL: 'http://prometheus-' + $._config.prometheus.name + '.' + $._config.namespace + '.svc.cluster.local:9090/',
|
prometheusURL: 'http://prometheus-' + $._config.prometheus.name + '.' + $._config.namespace + '.svc.cluster.local:9090/',
|
||||||
config: {
|
config: {
|
||||||
resourceRules: {
|
resourceRules: {
|
||||||
@@ -82,7 +92,7 @@
|
|||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: $._config.prometheusAdapter.labels,
|
matchLabels: $._config.prometheusAdapter.selectorLabels,
|
||||||
},
|
},
|
||||||
endpoints: [
|
endpoints: [
|
||||||
{
|
{
|
||||||
@@ -110,7 +120,7 @@
|
|||||||
ports: [
|
ports: [
|
||||||
{ name: 'https', targetPort: 6443, port: 443 },
|
{ name: 'https', targetPort: 6443, port: 443 },
|
||||||
],
|
],
|
||||||
selector: $._config.prometheusAdapter.labels,
|
selector: $._config.prometheusAdapter.selectorLabels,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -143,7 +153,7 @@
|
|||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
replicas: 1,
|
replicas: 1,
|
||||||
selector: { matchLabels: $._config.prometheusAdapter.labels },
|
selector: { matchLabels: $._config.prometheusAdapter.selectorLabels },
|
||||||
strategy: {
|
strategy: {
|
||||||
rollingUpdate: {
|
rollingUpdate: {
|
||||||
maxSurge: 1,
|
maxSurge: 1,
|
||||||
|
|||||||
@@ -13,6 +13,17 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
|
|||||||
replicas: 2,
|
replicas: 2,
|
||||||
rules: {},
|
rules: {},
|
||||||
namespaces: ['default', 'kube-system', $._config.namespace],
|
namespaces: ['default', 'kube-system', $._config.namespace],
|
||||||
|
labels: {
|
||||||
|
'app.kubernetes.io/name': 'prometheus-' + $._config.prometheus.name,
|
||||||
|
'app.kubernetes.io/version': $._config.versions.prometheus,
|
||||||
|
'app.kubernetes.io/component': 'prometheus',
|
||||||
|
'app.kubernetes.io/part-of': 'kube-prometheus',
|
||||||
|
},
|
||||||
|
selectorLabels: {
|
||||||
|
[labelName]: $._config.prometheus.labels[labelName]
|
||||||
|
for labelName in std.objectFields($._config.prometheus.labels)
|
||||||
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -41,13 +52,13 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'prometheus-' + p.name,
|
name: 'prometheus-' + p.name,
|
||||||
namespace: p.namespace,
|
namespace: p.namespace,
|
||||||
labels: { prometheus: p.name },
|
labels: { prometheus: p.name } + $._config.prometheus.labels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
ports: [
|
ports: [
|
||||||
{ name: 'web', targetPort: 'web', port: 9090 },
|
{ name: 'web', targetPort: 'web', port: 9090 },
|
||||||
],
|
],
|
||||||
selector: { app: 'prometheus', prometheus: p.name },
|
selector: { app: 'prometheus', prometheus: p.name } + $._config.prometheus.selectorLabels,
|
||||||
sessionAffinity: 'ClientIP',
|
sessionAffinity: 'ClientIP',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -192,12 +203,15 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: p.name,
|
name: p.name,
|
||||||
namespace: p.namespace,
|
namespace: p.namespace,
|
||||||
labels: { prometheus: p.name },
|
labels: { prometheus: p.name } + $._config.prometheus.labels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
replicas: p.replicas,
|
replicas: p.replicas,
|
||||||
version: $._config.versions.prometheus,
|
version: $._config.versions.prometheus,
|
||||||
image: $._config.imageRepos.prometheus + ':' + $._config.versions.prometheus,
|
image: $._config.imageRepos.prometheus + ':' + $._config.versions.prometheus,
|
||||||
|
podMetadata: {
|
||||||
|
labels: $._config.prometheus.labels
|
||||||
|
},
|
||||||
serviceAccountName: 'prometheus-' + p.name,
|
serviceAccountName: 'prometheus-' + p.name,
|
||||||
serviceMonitorSelector: {},
|
serviceMonitorSelector: {},
|
||||||
podMonitorSelector: {},
|
podMonitorSelector: {},
|
||||||
@@ -236,11 +250,11 @@ local relabelings = import 'kube-prometheus/dropping-deprecated-metrics-relabeli
|
|||||||
metadata: {
|
metadata: {
|
||||||
name: 'prometheus',
|
name: 'prometheus',
|
||||||
namespace: p.namespace,
|
namespace: p.namespace,
|
||||||
labels: { 'k8s-app': 'prometheus' },
|
labels: { 'k8s-app': 'prometheus' } + $._config.prometheus.labels,
|
||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: { prometheus: p.name },
|
matchLabels: { prometheus: p.name } + $._config.prometheus.selectorLabels,
|
||||||
},
|
},
|
||||||
endpoints: [{
|
endpoints: [{
|
||||||
port: 'web',
|
port: 'web',
|
||||||
|
|||||||
Reference in New Issue
Block a user