From 116a42ae7a290cb881008242cb74cf86f3633768 Mon Sep 17 00:00:00 2001 From: Kemal Akkoyun <kakkoyun@gmail.com> Date: Fri, 6 Nov 2020 15:46:40 +0100 Subject: [PATCH] Remove ksonnet from several libs Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> --- ...kube-prometheus-insecure-kubelet.libsonnet | 10 +--- .../kube-prometheus-kops-coredns.libsonnet | 25 +++++---- .../kube-prometheus-kops.libsonnet | 53 ++++++++++++------- .../kube-prometheus-kube-aws.libsonnet | 41 +++++++++----- .../kube-prometheus-kubeadm.libsonnet | 41 +++++++++----- .../kube-prometheus-kubespray.libsonnet | 42 ++++++++++----- .../kube-prometheus-node-ports.libsonnet | 21 ++++---- 7 files changed, 147 insertions(+), 86 deletions(-) diff --git a/jsonnet/kube-prometheus/kube-prometheus-insecure-kubelet.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-insecure-kubelet.libsonnet index ab5dceae..73d0b9d7 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-insecure-kubelet.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-insecure-kubelet.libsonnet @@ -10,10 +10,7 @@ interval: '30s', bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', relabelings: [ - { - sourceLabels: ['__metrics_path__'], - targetLabel: 'metrics_path' - }, + { sourceLabels: ['__metrics_path__'], targetLabel: 'metrics_path' }, ], }, { @@ -24,10 +21,7 @@ honorLabels: true, bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token', relabelings: [ - { - sourceLabels: ['__metrics_path__'], - targetLabel: 'metrics_path' - }, + { sourceLabels: ['__metrics_path__'], targetLabel: 'metrics_path' }, ], metricRelabelings: [ // Drop a bunch of metrics which are disabled but still sent, see diff --git a/jsonnet/kube-prometheus/kube-prometheus-kops-coredns.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kops-coredns.libsonnet index 37760404..7311c366 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kops-coredns.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kops-coredns.libsonnet @@ -1,13 +1,20 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; - { prometheus+:: { - kubeDnsPrometheusDiscoveryService: - service.new('kube-dns-prometheus-discovery', { 'k8s-app': 'kube-dns' }, [servicePort.newNamed('metrics', 9153, 9153)]) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-dns' }) + - service.mixin.spec.withClusterIp('None'), + kubeDnsPrometheusDiscoveryService: { + apiVersion: 'v1', + kind: 'Service', + metadata: { + name: 'kube-dns-prometheus-discovery', + namespace: 'kube-system', + labels: { 'k8s-app': 'kube-dns' }, + }, + spec: { + ports: [ + { name: 'metrics', port: 9153, targetPort: 9153 }, + ], + selector: { 'k8s-app': 'kube-dns' }, + cluserAPI: 'None', + }, + }, }, } diff --git a/jsonnet/kube-prometheus/kube-prometheus-kops.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kops.libsonnet index 9f9bb950..8db8c299 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kops.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kops.libsonnet @@ -1,23 +1,40 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; +local service(name, namespace, labels, selector, ports) = { + apiVersion: 'v1', + kind: 'Service', + metadata: { + name: name, + namespace: namespace, + labels: labels, + }, + spec: { + ports+: ports, + selector: selector, + clusterIP: 'None', + }, +}; { prometheus+:: { - kubeControllerManagerPrometheusDiscoveryService: - service.new('kube-controller-manager-prometheus-discovery', { 'k8s-app': 'kube-controller-manager' }, servicePort.newNamed('https-metrics', 10257, 10257)) + - 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', { 'k8s-app': 'kube-scheduler' }, servicePort.newNamed('https-metrics', 10259, 10259)) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) + - service.mixin.spec.withClusterIp('None'), - kubeDnsPrometheusDiscoveryService: - service.new('kube-dns-prometheus-discovery', { 'k8s-app': 'kube-dns' }, [servicePort.newNamed('metrics', 10055, 10055), servicePort.newNamed('http-metrics-dnsmasq', 10054, 10054)]) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-dns' }) + - service.mixin.spec.withClusterIp('None'), + kubeControllerManagerPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-controller-manager' }, + { 'k8s-app': 'kube-controller-manager' }, + [{ name: 'https-metrics', port: 10257, targetPort: 10257 }] + ), + kubeSchedulerPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-scheduler' }, + { 'k8s-app': 'kube-scheduler' }, + [{ name: 'https-metrics', port: 10259, targetPort: 10259 }] + ), + kubeDnsPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-dns' }, + { 'k8s-app': 'kube-dns' }, + [{ name: 'metrics', port: 10055, targetPort: 10055 }, { name: 'http-metrics-dnsmasq', port: 10054, targetPort: 10054 }] + ), }, } diff --git a/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet index bd7ea6ca..ae8d364d 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kube-aws.libsonnet @@ -1,18 +1,33 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; +local service(name, namespace, labels, selector, ports) = { + apiVersion: 'v1', + kind: 'Service', + metadata: { + name: name, + namespace: namespace, + labels: labels, + }, + spec: { + ports+: ports, + selector: selector, + clusterIP: 'None', + }, +}; { prometheus+: { - kubeControllerManagerPrometheusDiscoveryService: - service.new('kube-controller-manager-prometheus-discovery', { 'k8s-app': 'kube-controller-manager' }, servicePort.newNamed('https-metrics', 10257, 10257)) + - 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', { 'k8s-app': 'kube-scheduler' }, servicePort.newNamed('https-metrics', 10259, 10259)) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) + - service.mixin.spec.withClusterIp('None'), + kubeControllerManagerPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-controller-manager' }, + { 'k8s-app': 'kube-controller-manager' }, + [{ name: 'https-metrics', port: 10257, targetPort: 10257 }], + ), + kubeSchedulerPrometheusDiscoveryService: service( + 'kube-scheduler-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-scheduler' }, + { 'k8s-app': 'kube-scheduler' }, + [{ name: 'https-metrics', port: 10259, targetPort: 10259 }], + ), }, } diff --git a/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet index 1481c596..0eccc939 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kubeadm.libsonnet @@ -1,18 +1,33 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; +local service(name, namespace, labels, selector, ports) = { + apiVersion: 'v1', + kind: 'Service', + metadata: { + name: name, + namespace: namespace, + labels: labels, + }, + spec: { + ports+: ports, + selector: selector, + clusterIP: 'None', + }, +}; { prometheus+: { - kubeControllerManagerPrometheusDiscoveryService: - service.new('kube-controller-manager-prometheus-discovery', { component: 'kube-controller-manager' }, servicePort.newNamed('https-metrics', 10257, 10257)) + - 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('https-metrics', 10259, 10259)) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) + - service.mixin.spec.withClusterIp('None'), + kubeControllerManagerPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-controller-manager' }, + { 'k8s-app': 'kube-controller-manager' }, + [{ name: 'https-metrics', port: 10257, targetPort: 10257 }] + ), + kubeSchedulerPrometheusDiscoveryService: service( + 'kube-scheduler-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-scheduler' }, + { 'k8s-app': 'kube-scheduler' }, + [{ name: 'https-metrics', port: 10259, targetPort: 10259 }], + ), }, } diff --git a/jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet index fbda4a9e..c1e7682d 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-kubespray.libsonnet @@ -1,20 +1,36 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; +local service(name, namespace, labels, selector, ports) = { + apiVersion: 'v1', + kind: 'Service', + metadata: { + name: name, + namespace: namespace, + labels: labels, + }, + spec: { + ports+: ports, + selector: selector, + clusterIP: 'None', + }, +}; { prometheus+: { - kubeControllerManagerPrometheusDiscoveryService: - service.new('kube-controller-manager-prometheus-discovery', { 'component': 'kube-controller-manager' }, servicePort.newNamed('https-metrics', 10257, 10257)) + - 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('https-metrics', 10259, 10259)) + - service.mixin.metadata.withNamespace('kube-system') + - service.mixin.metadata.withLabels({ 'k8s-app': 'kube-scheduler' }) + - service.mixin.spec.withClusterIp('None'), + kubeControllerManagerPrometheusDiscoveryService: service( + 'kube-controller-manager-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-controller-manager' }, + { 'k8s-app': 'kube-controller-manager' }, + [{ name: 'https-metrics', port: 10257, targetPort: 10257 }] + ), + + kubeSchedulerPrometheusDiscoveryService: service( + 'kube-scheduler-prometheus-discovery', + 'kube-system', + { 'k8s-app': 'kube-scheduler' }, + { 'k8s-app': 'kube-scheduler' }, + [{ name: 'https-metrics', port: 10259, targetPort: 10259 }], + ), serviceMonitorKubeScheduler+: { spec+: { diff --git a/jsonnet/kube-prometheus/kube-prometheus-node-ports.libsonnet b/jsonnet/kube-prometheus/kube-prometheus-node-ports.libsonnet index 13901307..b9369011 100644 --- a/jsonnet/kube-prometheus/kube-prometheus-node-ports.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus-node-ports.libsonnet @@ -1,21 +1,18 @@ -local k = import 'github.com/ksonnet/ksonnet-lib/ksonnet.beta.4/k.libsonnet'; -local service = k.core.v1.service; -local servicePort = k.core.v1.service.mixin.spec.portsType; +local patch(ports) = { + spec+: { + ports+: ports, + type: 'NodePort', + }, +}; { prometheus+: { - service+: - service.mixin.spec.withPorts(servicePort.newNamed('web', 9090, 'web') + servicePort.withNodePort(30900)) + - service.mixin.spec.withType('NodePort'), + service+: patch([{ name: 'web', port: 9090, targetPort: 'web', nodePort: 30900 }]), }, alertmanager+: { - service+: - service.mixin.spec.withPorts(servicePort.newNamed('web', 9093, 'web') + servicePort.withNodePort(30903)) + - service.mixin.spec.withType('NodePort'), + service+: patch([{ name: 'web', port: 9093, targetPort: 'web', nodePort: 30903 }]), }, grafana+: { - service+: - service.mixin.spec.withPorts(servicePort.newNamed('http', 3000, 'http') + servicePort.withNodePort(30902)) + - service.mixin.spec.withType('NodePort'), + service+: patch([{ name: 'http', port: 3000, targetPort: 'http', nodePort: 30902 }]), }, } -- GitLab