From e3e090fd8175de2664a78b2db2dc4031a8f0f6ee Mon Sep 17 00:00:00 2001
From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de>
Date: Fri, 3 Mar 2023 22:10:27 +0100
Subject: [PATCH] node_exporter: Configure k8s Prometheus scraping

---
 node_exporter/tasks/main.yml | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/node_exporter/tasks/main.yml b/node_exporter/tasks/main.yml
index f43ef22..5466a17 100644
--- a/node_exporter/tasks/main.yml
+++ b/node_exporter/tasks/main.yml
@@ -54,7 +54,7 @@
     - prometheus-exporter
     - config
 
-- name: Configure Prometheus server to scrape us
+- name: Configure Prometheus server to scrape us (file)
   ansible.builtin.template:
     src: scrape.yml.j2
     dest: "/etc/prometheus/scrape/node_{{ ansible_fqdn }}.yml"
@@ -66,6 +66,27 @@
     - prometheus
     - prometheus-exporter
     - config
+  when: prometheus_host is defined
+
+- name: Configure Prometheus server to scrape us (k8s)
+  kubernetes.core.k8s:
+    definition:
+      apiVersion: v1
+      kind: ConfigMap
+      metadata:
+        name: "{{ prometheus_k8s_scrape.name }}"
+        namespace: "{{ prometheus_k8s_scrape.namespace }}"
+      data: "{{ _data|items2dict }}"
+  vars:
+    _data:
+      - key: "node_{{ ansible_fqdn }}.yml"
+        value: "{{ lookup('template', 'scrape.yml.j2') }}"
+  delegate_to: localhost
+  tags:
+    - prometheus
+    - prometheus-exporter
+    - config
+  when: prometheus_k8s_scrape is defined
 
 - name: Configure needrestart integration
   ansible.builtin.import_tasks: needrestart.yml
-- 
GitLab