diff --git a/monitoring/k3s.libsonnet b/monitoring/k3s.libsonnet index bab1c78..1643a0c 100644 --- a/monitoring/k3s.libsonnet +++ b/monitoring/k3s.libsonnet @@ -2,9 +2,17 @@ local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet'; local endpoints = k.core.v1.endpoints; local endpointSubset = endpoints.subsetsType; local endpointPort = endpointSubset.portsType; +local service = k.core.v1.service; +local servicePort = k.core.v1.service.mixin.spec.portsType; +local masterIP = '185.95.218.11'; { prometheus+:: { + kubeSchedulerPrometheusDiscoveryService: + local p = servicePort.newNamed('http-metrics', 10251, 10251); + service.new('kube-scheduler', { 'k8s-app': 'kube-scheduler' }, p) + + service.mixin.metadata.withNamespace('kube-system') + + service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }), kubeSchedulerPrometheusDiscoveryEndpoints: local port = endpointPort.new() + endpointPort.withName('http-metrics') + @@ -12,15 +20,20 @@ local endpointPort = endpointSubset.portsType; endpointPort.withProtocol('TCP'); local subset = endpointSubset.new() + endpointSubset.withAddresses([ - { ip: '185.95.218.11' }, + { ip: masterIP }, ]) + endpointSubset.withPorts(port); endpoints.new() + - endpoints.mixin.metadata.withName('kube-scheduler-knurrli') + + endpoints.mixin.metadata.withName('kube-scheduler') + endpoints.mixin.metadata.withNamespace('kube-system') + endpoints.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) + endpoints.withSubsets(subset), + kubeControllerManagerPrometheusDiscoveryService: + local p = servicePort.newNamed('http-metrics', 10252, 10252); + service.new('kube-controller-manager', { 'k8s-app': 'kube-controller-manager' }, p) + + service.mixin.metadata.withNamespace('kube-system') + + service.mixin.metadata.withLabels({ 'k8s-app': 'kube-controller-manager' }), kubeControllerManagerPrometheusDiscoveryEndpoints: local port = endpointPort.new() + endpointPort.withName('http-metrics') + @@ -28,12 +41,12 @@ local endpointPort = endpointSubset.portsType; endpointPort.withProtocol('TCP'); local subset = endpointSubset.new() + endpointSubset.withAddresses([ - { ip: '185.95.218.11' }, + { ip: masterIP }, ]) + endpointSubset.withPorts(port); endpoints.new() + - endpoints.mixin.metadata.withName('kube-controller-manager-knurrli') + + endpoints.mixin.metadata.withName('kube-controller-manager') + endpoints.mixin.metadata.withNamespace('kube-system') + endpoints.mixin.metadata.withLabels({ 'k8s-app': 'kube-controller-manager' }) + endpoints.withSubsets(subset), diff --git a/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryEndpoints.yaml b/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryEndpoints.yaml index 267a7bd..cb1671e 100644 --- a/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryEndpoints.yaml +++ b/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryEndpoints.yaml @@ -3,7 +3,7 @@ kind: Endpoints metadata: labels: k8s-app: kube-controller-manager - name: kube-controller-manager-knurrli + name: kube-controller-manager namespace: kube-system subsets: - addresses: diff --git a/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryService.yaml b/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryService.yaml new file mode 100644 index 0000000..d4b8475 --- /dev/null +++ b/monitoring/manifests/prometheus-kubeControllerManagerPrometheusDiscoveryService.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + k8s-app: kube-controller-manager + name: kube-controller-manager + namespace: kube-system +spec: + ports: + - name: http-metrics + port: 10252 + targetPort: 10252 + selector: + k8s-app: kube-controller-manager diff --git a/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryEndpoints.yaml b/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryEndpoints.yaml index f956d56..820f934 100644 --- a/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryEndpoints.yaml +++ b/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryEndpoints.yaml @@ -3,7 +3,7 @@ kind: Endpoints metadata: labels: k8s-app: kube-scheduler - name: kube-scheduler-knurrli + name: kube-scheduler namespace: kube-system subsets: - addresses: diff --git a/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryService.yaml b/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryService.yaml new file mode 100644 index 0000000..5f492f0 --- /dev/null +++ b/monitoring/manifests/prometheus-kubeSchedulerPrometheusDiscoveryService.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + k8s-app: kube-scheduler + name: kube-scheduler + namespace: kube-system +spec: + ports: + - name: http-metrics + port: 10251 + targetPort: 10251 + selector: + k8s-app: kube-scheduler