prometheus/prometheus

__meta_kubernetes_service_loadbalancer_ip not working as expected

Open

#14,398 opened on Jul 3, 2024

View on GitHub
 (9 comments) (0 reactions) (1 assignee)Go (64,042 stars) (10,408 forks)batch import
component/service discoverycomponent/service discovery/kubernetesgood first issuehelp wanted

Description

What did you do?

used following config snippet to set LB service external IP as param_target for DNS probes

....
      relabel_configs:
      - action: keep
        regex: powerdns-external;pdns-udp
        source_labels:
        - __meta_kubernetes_service_name
        - __meta_kubernetes_service_port_name
      - source_labels:
        - __meta_kubernetes_service_loadbalancer_ip
        target_label: __param_target
...

now with following config __param_target not set, it is empty. If I check powerdns-external service I see that it has loadBalancer IP only under status.loadBalancer.ingress so no .spec.loadBalancerIP defined automatically, looks like after 1.24 Kubernetes dropped this .spec.loadBalancerIP setting.

apiVersion: v1
kind: Service
metadata:
  name: powerdns-external
.....
status:
  loadBalancer:
    ingress:
      - ip: 192.168.1.15
spec:
  ports:
    - name: pdns-udp
      protocol: UDP
      port: 53
      targetPort: 53
      nodePort: 30937
  selector:
    application: powerdns
  clusterIP: 10.96.26.217
  clusterIPs:
    - 10.96.26.217
  type: LoadBalancer
  sessionAffinity: None
  externalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  allocateLoadBalancerNodePorts: true
  internalTrafficPolicy: Cluster

Main point if I set .spec.loadBalancerIP manually from service then scrape job starts to work and thus __meta_kubernetes_service_loadbalancer_ip returns loadBalancerIP value. So could it be that __meta_kubernetes_service_loadbalancer_ip relies on .spec.loadBalancerIP and not compatible with latest Kubernetes?

What did you expect to see?

No response

What did you see instead? Under which circumstances?

__meta_kubernetes_service_loadbalancer_ip returned no value

System information

No response

Prometheus version

No response

Prometheus configuration file

No response

Alertmanager version

No response

Alertmanager configuration file

No response

Logs

No response

Contributor guide

__meta_kubernetes_service_loadbalancer_ip not working as expected · prometheus/prometheus#14398 | Good First Issue