define svc and ep for k3s prom discovery

This commit is contained in:
Tobias Brunner 2020-02-17 20:31:57 +01:00
parent 7eff156636
commit 4eca792b49
5 changed files with 47 additions and 6 deletions

View file

@ -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),

View file

@ -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:

View file

@ -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

View file

@ -3,7 +3,7 @@ kind: Endpoints
metadata:
labels:
k8s-app: kube-scheduler
name: kube-scheduler-knurrli
name: kube-scheduler
namespace: kube-system
subsets:
- addresses:

View file

@ -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