Added the host label to the k8s-api Prometheus target

Within this change we add a host label to
kubernetes-api Prometheus target.

Change-Id: I9326b286c24232dc8388a97cebb791af670b0d90
Related-Bug: PROD-25539
diff --git a/prometheus/files/server/prometheus.yml b/prometheus/files/server/prometheus.yml
index 4bc011c..87a6fd0 100644
--- a/prometheus/files/server/prometheus.yml
+++ b/prometheus/files/server/prometheus.yml
@@ -197,11 +197,17 @@
 {%- endfor %}
 
 {%- set kubernetes_target = {} %}
+{%- set kubernetes_apiservers = {} %}
 {%- if server.get('use_grains', {}).get('target', True) %}
   {%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
     {%- set kubernetes_grain = node_grains.get('prometheus', {}).get('server', {}).get('target', {}).get('kubernetes', {}) %}
     {%- if kubernetes_grain %}
       {%- do kubernetes_target.update(kubernetes_grain) %}
+      {%- set api_server_endpoint = kubernetes_grain.get('api_server_endpoint') %}
+      {%- if api_server_endpoint %}
+        {%- set host = node_name.split(".")[0] %}
+        {%- do kubernetes_apiservers.update({host: {'endpoint': api_server_endpoint}}) %}
+      {%- endif %}
     {%- endif %}
   {%- endfor %}
 {%- endif %}
@@ -230,7 +236,12 @@
     - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
       action: keep
       regex: default;kubernetes;https
-
+    {%- for node, node_params in kubernetes_apiservers.iteritems() %}
+    - source_labels: ['__address__']
+      regex:  {{ node_params.endpoint }}
+      replacement: {{ node }}
+      target_label: "host"
+    {%- endfor %}
   - job_name: 'kubernetes-node'
     scheme: https
     tls_config: