Skip to content

Commit 8cebab5

Browse files
authored
Merge pull request #6731 from zalando-incubator/kubelet-cadvisor
Add support for kubelet-cadvisor
2 parents 4071a02 + bca6c33 commit 8cebab5

File tree

4 files changed

+49
-0
lines changed

4 files changed

+49
-0
lines changed

cluster/config-defaults.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ event_rate_limit_config_burst: "1000"
333333
cadvisor_cpu: "150m"
334334
cadvisor_memory: "150Mi"
335335
cadvisor_profiling_enabled: "false"
336+
cadvisor_enabled: "true"
336337

337338
# settings for enabling the kubelet-summary-metrics proxy and prometheus metric
338339
# collection.
@@ -343,6 +344,9 @@ kubelet_summary_metrics_hpa_max_replicas: "10"
343344
kubelet_summary_metrics_hpa_cpu_target: "80"
344345
kubelet_summary_metrics_hpa_memory_target: "80"
345346

347+
# enable collection of cadvisor metrics from the kubelet cadvisor endpoint.
348+
kubelet_cadvisor_enabled: "true"
349+
346350
# node exporter settings
347351
node_exporter_cpu: "20m"
348352
node_exporter_memory: "75Mi"

cluster/manifests/node-monitor/daemonset.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ spec:
3030
priorityClassName: system-node-critical
3131
serviceAccountName: node-monitor
3232
containers:
33+
{{- if eq .Cluster.ConfigItems.cadvisor_enabled "true" }}
3334
- name: cadvisor
3435
image: container-registry.zalando.net/teapot/cadvisor:v0.47.0-master-11
3536
args:
@@ -77,6 +78,7 @@ spec:
7778
containerPort: 9101
7879
hostPort: 9101
7980
protocol: TCP
81+
{{- end }}
8082
- image: container-registry.zalando.net/teapot/prometheus-node-exporter:v1.7.0-master-20
8183
args:
8284
{{- if eq .Cluster.ConfigItems.node_exporter_experimental_metrics "true" }}

cluster/manifests/node-monitor/service.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ metadata:
88
spec:
99
type: ClusterIP
1010
ports:
11+
{{- if eq .Cluster.ConfigItems.cadvisor_enabled "true" }}
1112
- name: cadvisor
1213
port: 80
1314
targetPort: 9101
1415
protocol: TCP
16+
{{- end }}
1517
- name: node-exporter
1618
port: 81
1719
targetPort: 9100

cluster/manifests/prometheus/configmap.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ data:
309309
- action: replace
310310
source_labels: ['__meta_kubernetes_pod_node_name']
311311
target_label: node_name
312+
{{- if eq .Cluster.ConfigItems.cadvisor_enabled "true" }}
312313
- job_name: 'cadvisor'
313314
scheme: http
314315
honor_labels: true
@@ -351,6 +352,7 @@ data:
351352
- source_labels: [__name__]
352353
action: keep
353354
regex: '(container_cpu_cfs_throttled_seconds_total|container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_memory_rss|container_memory_cache|container_network_receive_bytes_total|container_network_receive_packets_dropped_total|container_network_transmit_bytes_total|container_network_transmit_packets_dropped_total|container_fs_usage_bytes|container_fs_limit_bytes|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_threads|container_threads_max|container_file_descriptors{{ if eq .Cluster.ConfigItems.node_exporter_experimental_metrics "true" }}|ethtool{{end}})'
355+
{{- end }}
354356
- job_name: 'node-exporter'
355357
scheme: http
356358
honor_labels: true
@@ -415,3 +417,42 @@ data:
415417
- target_label: __address__
416418
replacement: kubelet-summary-metrics
417419
# {{ end }}
420+
# {{ if eq .Cluster.ConfigItems.kubelet_cadvisor_enabled "true" }}
421+
- job_name: 'kubelet-cadvisor'
422+
scheme: https
423+
tls_config:
424+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
425+
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
426+
kubernetes_sd_configs:
427+
- role: node
428+
relabel_configs:
429+
- target_label: __metrics_path__
430+
replacement: /metrics/cadvisor
431+
- source_labels: [__meta_kubernetes_node_address_Hostname]
432+
target_label: __address__
433+
regex: (.*)
434+
replacement: $1:10250
435+
metric_relabel_configs:
436+
- action: labeldrop
437+
regex: "(name|id|image)"
438+
- action: replace
439+
source_labels: ['container']
440+
target_label: container_name
441+
- action: replace
442+
source_labels: ['pod']
443+
target_label: pod_name
444+
- action: labeldrop # drop pod|container label as we rename it to pod_name, container_name for compatability.
445+
regex: "(pod|container)"
446+
- source_labels: [pod_name] # only keep metrics with a pod_name label
447+
regex: .+
448+
action: keep
449+
- source_labels: [container_name] # only keep metrics with a container_name label
450+
regex: .+
451+
action: keep
452+
- action: replace
453+
source_labels: ['__meta_kubernetes_pod_node_name']
454+
target_label: node_name
455+
- source_labels: [__name__]
456+
action: keep
457+
regex: '(container_threads|container_file_descriptors)'
458+
# {{ end }}

0 commit comments

Comments
 (0)