Merge pull request #8273 from fcddk/fcddk-k8s-enpoints-label

K8s SD: add endpoints labels metadata
This commit is contained in:
Frederic Branczyk 2021-01-04 17:25:27 +01:00 committed by GitHub
commit 19b0ec3baf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,6 +15,7 @@ package kubernetes
import (
"context"
"github.com/prometheus/prometheus/util/strutil"
"net"
"strconv"
@ -199,6 +200,8 @@ func endpointsSourceFromNamespaceAndName(namespace, name string) string {
}
const (
endpointsLabelPrefix = metaLabelPrefix + "endpoints_label_"
endpointsLabelPresentPrefix = metaLabelPrefix + "endpoints_labelpresent_"
endpointsNameLabel = metaLabelPrefix + "endpoints_name"
endpointNodeName = metaLabelPrefix + "endpoint_node_name"
endpointHostname = metaLabelPrefix + "endpoint_hostname"
@ -218,6 +221,12 @@ func (e *Endpoints) buildEndpoints(eps *apiv1.Endpoints) *targetgroup.Group {
endpointsNameLabel: lv(eps.Name),
}
e.addServiceLabels(eps.Namespace, eps.Name, tg)
//add endponits labels metadata
for k, v := range eps.Labels {
ln := strutil.SanitizeLabelName(k)
tg.Labels[model.LabelName(endpointsLabelPrefix+ln)] = lv(v)
tg.Labels[model.LabelName(endpointsLabelPresentPrefix+ln)] = presentValue
}
type podEntry struct {
pod *apiv1.Pod