Files
kube-prometheus/jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet
2019-05-29 17:58:29 +02:00

57 lines
1.5 KiB
Jsonnet

local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet';
local service = k.core.v1.service;
local servicePort = k.core.v1.service.mixin.spec.portsType;
{
_config+:: {
jobs+: {
CoreDNS: 'job="coredns"',
},
},
prometheus+: {
kubeControllerManagerPrometheusDiscoveryService:
service.new('kube-controller-manager-prometheus-discovery', { 'component': 'kube-controller-manager' }, servicePort.newNamed('http-metrics', 10252, 10252)) +
service.mixin.metadata.withNamespace('kube-system') +
service.mixin.metadata.withLabels({ 'k8s-app': 'kube-controller-manager' }) +
service.mixin.spec.withClusterIp('None'),
kubeSchedulerPrometheusDiscoveryService:
service.new('kube-scheduler-prometheus-discovery', { 'component': 'kube-scheduler' }, servicePort.newNamed('http-metrics', 10251, 10251)) +
service.mixin.metadata.withNamespace('kube-system') +
service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) +
service.mixin.spec.withClusterIp('None'),
serviceMonitorCoreDNS+: {
spec+: {
selector: {
matchLabels: {
'k8s-app': 'coredns',
},
},
},
},
serviceMonitorKubeScheduler+: {
spec+: {
selector+: {
matchLabels: {
'k8s-app': 'kube-scheduler',
},
},
},
},
serviceMonitorKubeControllerManager+: {
spec+: {
selector+: {
matchLabels: {
'k8s-app': 'kube-controller-manager',
},
},
},
},
},
}