mirror of
https://github.com/carlosedp/cluster-monitoring.git
synced 2024-11-20 19:07:17 +01:00
Added Traefik. Updated image versions
This commit is contained in:
parent
3dabb24eb1
commit
53b31ec856
@ -25,9 +25,8 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
||||
|
||||
local armExporter =
|
||||
container.new('arm-exporter', $._config.imageRepos.armExporter + ':' + $._config.versions.armExporter) +
|
||||
container.mixin.resources.withRequests({ cpu: '100m', memory: '180Mi' }) +
|
||||
container.mixin.resources.withLimits({ cpu: '200m', memory: '180Mi' });
|
||||
|
||||
container.mixin.resources.withRequests({ cpu: '50m', memory: '50Mi' }) +
|
||||
container.mixin.resources.withLimits({ cpu: '100m', memory: '100Mi' });
|
||||
local proxy =
|
||||
container.new('kube-rbac-proxy', $._config.imageRepos.kubeRbacProxy + ':' + $._config.versions.kubeRbacProxy) +
|
||||
container.withArgs([
|
||||
|
@ -1,2 +1,3 @@
|
||||
(import 'operator_stack.jsonnet') +
|
||||
(import 'arm_exporter.jsonnet')
|
||||
(import 'arm_exporter.jsonnet') +
|
||||
(import 'traefik.jsonnet')
|
||||
|
@ -20,8 +20,8 @@ spec:
|
||||
- --kubelet-service=kube-system/kubelet
|
||||
- --logtostderr=true
|
||||
- --config-reloader-image=carlosedp/configmap-reload:v0.2.2
|
||||
- --prometheus-config-reloader=carlosedp/prometheus-config-reloader:v0.26.0
|
||||
image: carlosedp/prometheus-operator:v0.26.0
|
||||
- --prometheus-config-reloader=carlosedp/prometheus-config-reloader:v0.28.0
|
||||
image: carlosedp/prometheus-operator:v0.28.0
|
||||
name: prometheus-operator
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
|
@ -19,11 +19,11 @@ spec:
|
||||
name: arm-exporter
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 180Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 180Mi
|
||||
memory: 100Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 50Mi
|
||||
- args:
|
||||
- --secure-listen-address=$(IP):9243
|
||||
- --upstream=http://127.0.0.1:9243/
|
||||
|
@ -16,9 +16,7 @@ spec:
|
||||
app: grafana
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- -config=/etc/grafana/grafana.ini
|
||||
image: carlosedp/monitoring-grafana:v5.4.0
|
||||
- image: carlosedp/monitoring-grafana:v5.4.0
|
||||
name: grafana
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
@ -117,16 +115,3 @@ spec:
|
||||
- name: grafana-config
|
||||
secret:
|
||||
secretName: grafana-config
|
||||
volumeClaimTemplate:
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: grafana-storage
|
||||
namespace: monitoring
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
storageClassName: nfs-ssd-node1
|
||||
|
@ -49,7 +49,7 @@ spec:
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
image: carlosedp/kube-rbac-proxy:v0.4.0
|
||||
image: carlosedp/kube-rbac-proxy:v0.4.1
|
||||
name: kube-rbac-proxy
|
||||
ports:
|
||||
- containerPort: 9100
|
||||
|
@ -25,7 +25,7 @@ spec:
|
||||
- --metrics-relist-interval=1m
|
||||
- --prometheus-url=http://prometheus-k8s.monitoring.svc:9090/
|
||||
- --secure-port=6443
|
||||
image: directxman12/k8s-prometheus-adapter-arm64:v0.4.0
|
||||
image: directxman12/k8s-prometheus-adapter-arm64:v0.4.1
|
||||
name: prometheus-adapter
|
||||
ports:
|
||||
- containerPort: 6443
|
||||
|
19
manifests/traefik-serviceMonitor.yaml
Normal file
19
manifests/traefik-serviceMonitor.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: traefik-ingress-lb
|
||||
name: traefik-ingress-lb
|
||||
namespace: monitoring
|
||||
spec:
|
||||
endpoints:
|
||||
- interval: 30s
|
||||
port: admin
|
||||
scheme: https
|
||||
jobLabel: k8s-app
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- kube-system
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: traefik-ingress-lb
|
@ -17,15 +17,15 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
||||
versions+:: {
|
||||
prometheus: "v2.5.0",
|
||||
alertmanager: "v0.15.3",
|
||||
kubeStateMetrics: "v1.4.0",
|
||||
kubeRbacProxy: "v0.4.0",
|
||||
kubeStateMetrics: "v1.5.0",
|
||||
kubeRbacProxy: "v0.4.1",
|
||||
addonResizer: "2.1",
|
||||
nodeExporter: "v0.17.0",
|
||||
prometheusOperator: "v0.26.0",
|
||||
prometheusAdapter: "v0.4.0",
|
||||
prometheusOperator: "v0.28.0",
|
||||
prometheusAdapter: "v0.4.1",
|
||||
grafana: "v5.4.0",
|
||||
configmapReloader: "v0.2.2",
|
||||
prometheusConfigReloader: "v0.26.0",
|
||||
prometheusConfigReloader: "v0.28.0",
|
||||
},
|
||||
|
||||
imageRepos+:: {
|
||||
@ -136,38 +136,38 @@ local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
||||
},
|
||||
|
||||
# Override command for Grafana to load ini from correct path
|
||||
grafana+:: {
|
||||
deployment+:
|
||||
{
|
||||
local pvc = k.core.v1.persistentVolumeClaim,
|
||||
spec+: {
|
||||
volumeClaimTemplate:
|
||||
pvc.new() +
|
||||
pvc.mixin.metadata.withNamespace($._config.namespace) +
|
||||
pvc.mixin.metadata.withName("grafana-storage") +
|
||||
pvc.mixin.spec.withAccessModes('ReadWriteMany') +
|
||||
pvc.mixin.spec.resources.withRequests({ storage: '2Gi' }) +
|
||||
pvc.mixin.spec.withStorageClassName('nfs-ssd-node1'),
|
||||
template+: {
|
||||
spec+: {
|
||||
containers:
|
||||
std.map(
|
||||
function(c)
|
||||
if c.name == 'grafana' then
|
||||
c {
|
||||
args+: [
|
||||
'-config=/etc/grafana/grafana.ini',
|
||||
],
|
||||
}
|
||||
else
|
||||
c,
|
||||
super.containers,
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
// grafana+:: {
|
||||
// deployment+:
|
||||
// {
|
||||
// local pvc = k.core.v1.persistentVolumeClaim,
|
||||
// spec+: {
|
||||
// volumeClaimTemplate:
|
||||
// pvc.new() +
|
||||
// pvc.mixin.metadata.withNamespace($._config.namespace) +
|
||||
// pvc.mixin.metadata.withName("grafana-storage") +
|
||||
// pvc.mixin.spec.withAccessModes('ReadWriteMany') +
|
||||
// pvc.mixin.spec.resources.withRequests({ storage: '2Gi' }) +
|
||||
// pvc.mixin.spec.withStorageClassName('nfs-ssd-node1'),
|
||||
// template+: {
|
||||
// spec+: {
|
||||
// containers:
|
||||
// std.map(
|
||||
// function(c)
|
||||
// if c.name == 'grafana' then
|
||||
// c {
|
||||
// args+: [
|
||||
// '-config=/etc/grafana/grafana.ini',
|
||||
// ],
|
||||
// }
|
||||
// else
|
||||
// c,
|
||||
// super.containers,
|
||||
// ),
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
|
||||
// Override command for addon-resizer due to change from parameter --threshold to --acceptance-offset
|
||||
kubeStateMetrics+:: {
|
||||
|
45
traefik.jsonnet
Normal file
45
traefik.jsonnet
Normal file
@ -0,0 +1,45 @@
|
||||
local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
|
||||
|
||||
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
|
||||
_config+:: {
|
||||
namespace: 'monitoring',
|
||||
},
|
||||
|
||||
traefik+:: {
|
||||
serviceMonitor:
|
||||
{
|
||||
|
||||
apiVersion: 'monitoring.coreos.com/v1',
|
||||
kind: 'ServiceMonitor',
|
||||
metadata: {
|
||||
name: 'traefik-ingress-lb',
|
||||
namespace: $._config.namespace,
|
||||
labels: {
|
||||
'k8s-app': 'traefik-ingress-lb',
|
||||
},
|
||||
},
|
||||
spec: {
|
||||
jobLabel: 'k8s-app',
|
||||
selector: {
|
||||
matchLabels: {
|
||||
'k8s-app': 'traefik-ingress-lb',
|
||||
},
|
||||
},
|
||||
endpoints: [
|
||||
{
|
||||
port: 'admin',
|
||||
scheme: 'https',
|
||||
interval: '30s',
|
||||
},
|
||||
],
|
||||
namespaceSelector: {
|
||||
matchNames: [
|
||||
'kube-system',
|
||||
]
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
{ ['traefik-' + name]: kp.traefik[name] for name in std.objectFields(kp.traefik) }
|
Loading…
Reference in New Issue
Block a user