mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
discovery/kubernetes: add present labels for labels/annotations (#5443)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit is contained in:
parent
c1682adb2f
commit
dafd1632a2
|
@ -390,6 +390,7 @@ func TestEndpointsDiscoveryWithService(t *testing.T) {
|
||||||
"__meta_kubernetes_namespace": "default",
|
"__meta_kubernetes_namespace": "default",
|
||||||
"__meta_kubernetes_endpoints_name": "testendpoints",
|
"__meta_kubernetes_endpoints_name": "testendpoints",
|
||||||
"__meta_kubernetes_service_label_app": "test",
|
"__meta_kubernetes_service_label_app": "test",
|
||||||
|
"__meta_kubernetes_service_labelpresent_app": "true",
|
||||||
"__meta_kubernetes_service_name": "testendpoints",
|
"__meta_kubernetes_service_name": "testendpoints",
|
||||||
},
|
},
|
||||||
Source: "endpoints/default/testendpoints",
|
Source: "endpoints/default/testendpoints",
|
||||||
|
@ -455,8 +456,10 @@ func TestEndpointsDiscoveryWithServiceUpdate(t *testing.T) {
|
||||||
"__meta_kubernetes_namespace": "default",
|
"__meta_kubernetes_namespace": "default",
|
||||||
"__meta_kubernetes_endpoints_name": "testendpoints",
|
"__meta_kubernetes_endpoints_name": "testendpoints",
|
||||||
"__meta_kubernetes_service_label_app": "svc",
|
"__meta_kubernetes_service_label_app": "svc",
|
||||||
|
"__meta_kubernetes_service_labelpresent_app": "true",
|
||||||
"__meta_kubernetes_service_name": "testendpoints",
|
"__meta_kubernetes_service_name": "testendpoints",
|
||||||
"__meta_kubernetes_service_label_component": "testing",
|
"__meta_kubernetes_service_label_component": "testing",
|
||||||
|
"__meta_kubernetes_service_labelpresent_component": "true",
|
||||||
},
|
},
|
||||||
Source: "endpoints/default/testendpoints",
|
Source: "endpoints/default/testendpoints",
|
||||||
},
|
},
|
||||||
|
@ -563,6 +566,7 @@ func TestEndpointsDiscoveryNamespaces(t *testing.T) {
|
||||||
"__meta_kubernetes_namespace": "ns1",
|
"__meta_kubernetes_namespace": "ns1",
|
||||||
"__meta_kubernetes_endpoints_name": "testendpoints",
|
"__meta_kubernetes_endpoints_name": "testendpoints",
|
||||||
"__meta_kubernetes_service_label_app": "app1",
|
"__meta_kubernetes_service_label_app": "app1",
|
||||||
|
"__meta_kubernetes_service_labelpresent_app": "true",
|
||||||
"__meta_kubernetes_service_name": "testendpoints",
|
"__meta_kubernetes_service_name": "testendpoints",
|
||||||
},
|
},
|
||||||
Source: "endpoints/ns1/testendpoints",
|
Source: "endpoints/ns1/testendpoints",
|
||||||
|
|
|
@ -133,7 +133,9 @@ func ingressSourceFromNamespaceAndName(namespace, name string) string {
|
||||||
const (
|
const (
|
||||||
ingressNameLabel = metaLabelPrefix + "ingress_name"
|
ingressNameLabel = metaLabelPrefix + "ingress_name"
|
||||||
ingressLabelPrefix = metaLabelPrefix + "ingress_label_"
|
ingressLabelPrefix = metaLabelPrefix + "ingress_label_"
|
||||||
|
ingressLabelPresentPrefix = metaLabelPrefix + "ingress_labelpresent_"
|
||||||
ingressAnnotationPrefix = metaLabelPrefix + "ingress_annotation_"
|
ingressAnnotationPrefix = metaLabelPrefix + "ingress_annotation_"
|
||||||
|
ingressAnnotationPresentPrefix = metaLabelPrefix + "ingress_annotationpresent_"
|
||||||
ingressSchemeLabel = metaLabelPrefix + "ingress_scheme"
|
ingressSchemeLabel = metaLabelPrefix + "ingress_scheme"
|
||||||
ingressHostLabel = metaLabelPrefix + "ingress_host"
|
ingressHostLabel = metaLabelPrefix + "ingress_host"
|
||||||
ingressPathLabel = metaLabelPrefix + "ingress_path"
|
ingressPathLabel = metaLabelPrefix + "ingress_path"
|
||||||
|
@ -145,13 +147,15 @@ func ingressLabels(ingress *v1beta1.Ingress) model.LabelSet {
|
||||||
ls[namespaceLabel] = lv(ingress.Namespace)
|
ls[namespaceLabel] = lv(ingress.Namespace)
|
||||||
|
|
||||||
for k, v := range ingress.Labels {
|
for k, v := range ingress.Labels {
|
||||||
ln := strutil.SanitizeLabelName(ingressLabelPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(ingressLabelPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(ingressLabelPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range ingress.Annotations {
|
for k, v := range ingress.Annotations {
|
||||||
ln := strutil.SanitizeLabelName(ingressAnnotationPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(ingressAnnotationPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(ingressAnnotationPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
return ls
|
return ls
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,9 @@ func expectedTargetGroups(ns string, tls TLSMode) map[string]*targetgroup.Group
|
||||||
"__meta_kubernetes_ingress_name": "testingress",
|
"__meta_kubernetes_ingress_name": "testingress",
|
||||||
"__meta_kubernetes_namespace": lv(ns),
|
"__meta_kubernetes_namespace": lv(ns),
|
||||||
"__meta_kubernetes_ingress_label_testlabel": "testvalue",
|
"__meta_kubernetes_ingress_label_testlabel": "testvalue",
|
||||||
|
"__meta_kubernetes_ingress_labelpresent_testlabel": "true",
|
||||||
"__meta_kubernetes_ingress_annotation_testannotation": "testannotationvalue",
|
"__meta_kubernetes_ingress_annotation_testannotation": "testannotationvalue",
|
||||||
|
"__meta_kubernetes_ingress_annotationpresent_testannotation": "true",
|
||||||
},
|
},
|
||||||
Source: key,
|
Source: key,
|
||||||
},
|
},
|
||||||
|
|
|
@ -43,6 +43,7 @@ const (
|
||||||
metaLabelPrefix = model.MetaLabelPrefix + "kubernetes_"
|
metaLabelPrefix = model.MetaLabelPrefix + "kubernetes_"
|
||||||
namespaceLabel = metaLabelPrefix + "namespace"
|
namespaceLabel = metaLabelPrefix + "namespace"
|
||||||
metricsNamespace = "prometheus_sd_kubernetes"
|
metricsNamespace = "prometheus_sd_kubernetes"
|
||||||
|
presentValue = model.LabelValue("true")
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -54,6 +54,7 @@ type k8sDiscoveryTest struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d k8sDiscoveryTest) Run(t *testing.T) {
|
func (d k8sDiscoveryTest) Run(t *testing.T) {
|
||||||
|
t.Helper()
|
||||||
ch := make(chan []*targetgroup.Group)
|
ch := make(chan []*targetgroup.Group)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
|
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
@ -124,6 +125,7 @@ Loop:
|
||||||
}
|
}
|
||||||
|
|
||||||
func requireTargetGroups(t *testing.T, expected, res map[string]*targetgroup.Group) {
|
func requireTargetGroups(t *testing.T, expected, res map[string]*targetgroup.Group) {
|
||||||
|
t.Helper()
|
||||||
b1, err := json.Marshal(expected)
|
b1, err := json.Marshal(expected)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
|
@ -142,7 +142,9 @@ func nodeSourceFromName(name string) string {
|
||||||
const (
|
const (
|
||||||
nodeNameLabel = metaLabelPrefix + "node_name"
|
nodeNameLabel = metaLabelPrefix + "node_name"
|
||||||
nodeLabelPrefix = metaLabelPrefix + "node_label_"
|
nodeLabelPrefix = metaLabelPrefix + "node_label_"
|
||||||
|
nodeLabelPresentPrefix = metaLabelPrefix + "node_labelpresent_"
|
||||||
nodeAnnotationPrefix = metaLabelPrefix + "node_annotation_"
|
nodeAnnotationPrefix = metaLabelPrefix + "node_annotation_"
|
||||||
|
nodeAnnotationPresentPrefix = metaLabelPrefix + "node_annotationpresent_"
|
||||||
nodeAddressPrefix = metaLabelPrefix + "node_address_"
|
nodeAddressPrefix = metaLabelPrefix + "node_address_"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -152,13 +154,15 @@ func nodeLabels(n *apiv1.Node) model.LabelSet {
|
||||||
ls[nodeNameLabel] = lv(n.Name)
|
ls[nodeNameLabel] = lv(n.Name)
|
||||||
|
|
||||||
for k, v := range n.Labels {
|
for k, v := range n.Labels {
|
||||||
ln := strutil.SanitizeLabelName(nodeLabelPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(nodeLabelPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(nodeLabelPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range n.Annotations {
|
for k, v := range n.Annotations {
|
||||||
ln := strutil.SanitizeLabelName(nodeAnnotationPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(nodeAnnotationPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(nodeAnnotationPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
return ls
|
return ls
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,9 @@ func TestNodeDiscoveryBeforeStart(t *testing.T) {
|
||||||
Labels: model.LabelSet{
|
Labels: model.LabelSet{
|
||||||
"__meta_kubernetes_node_name": "test",
|
"__meta_kubernetes_node_name": "test",
|
||||||
"__meta_kubernetes_node_label_testlabel": "testvalue",
|
"__meta_kubernetes_node_label_testlabel": "testvalue",
|
||||||
|
"__meta_kubernetes_node_labelpresent_testlabel": "true",
|
||||||
"__meta_kubernetes_node_annotation_testannotation": "testannotationvalue",
|
"__meta_kubernetes_node_annotation_testannotation": "testannotationvalue",
|
||||||
|
"__meta_kubernetes_node_annotationpresent_testannotation": "true",
|
||||||
},
|
},
|
||||||
Source: "node/test",
|
Source: "node/test",
|
||||||
},
|
},
|
||||||
|
@ -159,6 +161,7 @@ func TestNodeDiscoveryUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
Labels: model.LabelSet{
|
Labels: model.LabelSet{
|
||||||
"__meta_kubernetes_node_label_Unschedulable": "true",
|
"__meta_kubernetes_node_label_Unschedulable": "true",
|
||||||
|
"__meta_kubernetes_node_labelpresent_Unschedulable": "true",
|
||||||
"__meta_kubernetes_node_name": "test0",
|
"__meta_kubernetes_node_name": "test0",
|
||||||
},
|
},
|
||||||
Source: "node/test0",
|
Source: "node/test0",
|
||||||
|
|
|
@ -144,7 +144,9 @@ const (
|
||||||
podReadyLabel = metaLabelPrefix + "pod_ready"
|
podReadyLabel = metaLabelPrefix + "pod_ready"
|
||||||
podPhaseLabel = metaLabelPrefix + "pod_phase"
|
podPhaseLabel = metaLabelPrefix + "pod_phase"
|
||||||
podLabelPrefix = metaLabelPrefix + "pod_label_"
|
podLabelPrefix = metaLabelPrefix + "pod_label_"
|
||||||
|
podLabelPresentPrefix = metaLabelPrefix + "pod_labelpresent_"
|
||||||
podAnnotationPrefix = metaLabelPrefix + "pod_annotation_"
|
podAnnotationPrefix = metaLabelPrefix + "pod_annotation_"
|
||||||
|
podAnnotationPresentPrefix = metaLabelPrefix + "pod_annotationpresent_"
|
||||||
podNodeNameLabel = metaLabelPrefix + "pod_node_name"
|
podNodeNameLabel = metaLabelPrefix + "pod_node_name"
|
||||||
podHostIPLabel = metaLabelPrefix + "pod_host_ip"
|
podHostIPLabel = metaLabelPrefix + "pod_host_ip"
|
||||||
podUID = metaLabelPrefix + "pod_uid"
|
podUID = metaLabelPrefix + "pod_uid"
|
||||||
|
@ -185,13 +187,15 @@ func podLabels(pod *apiv1.Pod) model.LabelSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range pod.Labels {
|
for k, v := range pod.Labels {
|
||||||
ln := strutil.SanitizeLabelName(podLabelPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(podLabelPrefix+k)] = lv(v)
|
||||||
|
ls[model.LabelName(podLabelPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range pod.Annotations {
|
for k, v := range pod.Annotations {
|
||||||
ln := strutil.SanitizeLabelName(podAnnotationPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(podAnnotationPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(podAnnotationPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
return ls
|
return ls
|
||||||
|
|
|
@ -181,7 +181,9 @@ func TestPodDiscoveryBeforeRun(t *testing.T) {
|
||||||
"__meta_kubernetes_pod_name": "testpod",
|
"__meta_kubernetes_pod_name": "testpod",
|
||||||
"__meta_kubernetes_namespace": "default",
|
"__meta_kubernetes_namespace": "default",
|
||||||
"__meta_kubernetes_pod_label_testlabel": "testvalue",
|
"__meta_kubernetes_pod_label_testlabel": "testvalue",
|
||||||
|
"__meta_kubernetes_pod_labelpresent_testlabel": "true",
|
||||||
"__meta_kubernetes_pod_annotation_testannotation": "testannotationvalue",
|
"__meta_kubernetes_pod_annotation_testannotation": "testannotationvalue",
|
||||||
|
"__meta_kubernetes_pod_annotationpresent_testannotation": "true",
|
||||||
"__meta_kubernetes_pod_node_name": "testnode",
|
"__meta_kubernetes_pod_node_name": "testnode",
|
||||||
"__meta_kubernetes_pod_ip": "1.2.3.4",
|
"__meta_kubernetes_pod_ip": "1.2.3.4",
|
||||||
"__meta_kubernetes_pod_host_ip": "2.3.4.5",
|
"__meta_kubernetes_pod_host_ip": "2.3.4.5",
|
||||||
|
|
|
@ -137,7 +137,9 @@ func serviceSourceFromNamespaceAndName(namespace, name string) string {
|
||||||
const (
|
const (
|
||||||
serviceNameLabel = metaLabelPrefix + "service_name"
|
serviceNameLabel = metaLabelPrefix + "service_name"
|
||||||
serviceLabelPrefix = metaLabelPrefix + "service_label_"
|
serviceLabelPrefix = metaLabelPrefix + "service_label_"
|
||||||
|
serviceLabelPresentPrefix = metaLabelPrefix + "service_labelpresent_"
|
||||||
serviceAnnotationPrefix = metaLabelPrefix + "service_annotation_"
|
serviceAnnotationPrefix = metaLabelPrefix + "service_annotation_"
|
||||||
|
serviceAnnotationPresentPrefix = metaLabelPrefix + "service_annotationpresent_"
|
||||||
servicePortNameLabel = metaLabelPrefix + "service_port_name"
|
servicePortNameLabel = metaLabelPrefix + "service_port_name"
|
||||||
servicePortProtocolLabel = metaLabelPrefix + "service_port_protocol"
|
servicePortProtocolLabel = metaLabelPrefix + "service_port_protocol"
|
||||||
serviceClusterIPLabel = metaLabelPrefix + "service_cluster_ip"
|
serviceClusterIPLabel = metaLabelPrefix + "service_cluster_ip"
|
||||||
|
@ -151,13 +153,15 @@ func serviceLabels(svc *apiv1.Service) model.LabelSet {
|
||||||
ls[namespaceLabel] = lv(svc.Namespace)
|
ls[namespaceLabel] = lv(svc.Namespace)
|
||||||
|
|
||||||
for k, v := range svc.Labels {
|
for k, v := range svc.Labels {
|
||||||
ln := strutil.SanitizeLabelName(serviceLabelPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(serviceLabelPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(serviceLabelPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range svc.Annotations {
|
for k, v := range svc.Annotations {
|
||||||
ln := strutil.SanitizeLabelName(serviceAnnotationPrefix + k)
|
ln := strutil.SanitizeLabelName(k)
|
||||||
ls[model.LabelName(ln)] = lv(v)
|
ls[model.LabelName(serviceAnnotationPrefix+ln)] = lv(v)
|
||||||
|
ls[model.LabelName(serviceAnnotationPresentPrefix+ln)] = presentValue
|
||||||
}
|
}
|
||||||
return ls
|
return ls
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,7 +189,9 @@ func TestServiceDiscoveryUpdate(t *testing.T) {
|
||||||
"__meta_kubernetes_service_name": "testservice",
|
"__meta_kubernetes_service_name": "testservice",
|
||||||
"__meta_kubernetes_namespace": "default",
|
"__meta_kubernetes_namespace": "default",
|
||||||
"__meta_kubernetes_service_label_testlabel": "testvalue",
|
"__meta_kubernetes_service_label_testlabel": "testvalue",
|
||||||
|
"__meta_kubernetes_service_labelpresent_testlabel": "true",
|
||||||
"__meta_kubernetes_service_annotation_testannotation": "testannotationvalue",
|
"__meta_kubernetes_service_annotation_testannotation": "testannotationvalue",
|
||||||
|
"__meta_kubernetes_service_annotationpresent_testannotation": "true",
|
||||||
},
|
},
|
||||||
Source: "svc/default/testservice",
|
Source: "svc/default/testservice",
|
||||||
},
|
},
|
||||||
|
|
|
@ -708,7 +708,9 @@ Available meta labels:
|
||||||
|
|
||||||
* `__meta_kubernetes_node_name`: The name of the node object.
|
* `__meta_kubernetes_node_name`: The name of the node object.
|
||||||
* `__meta_kubernetes_node_label_<labelname>`: Each label from the node object.
|
* `__meta_kubernetes_node_label_<labelname>`: Each label from the node object.
|
||||||
|
* `__meta_kubernetes_node_labelpresent_<labelname>`: `true` for each label from the node object.
|
||||||
* `__meta_kubernetes_node_annotation_<annotationname>`: Each annotation from the node object.
|
* `__meta_kubernetes_node_annotation_<annotationname>`: Each annotation from the node object.
|
||||||
|
* `__meta_kubernetes_node_annotationpresent_<annotationname>`: `true` for each annotation from the node object.
|
||||||
* `__meta_kubernetes_node_address_<address_type>`: The first address for each node address type, if it exists.
|
* `__meta_kubernetes_node_address_<address_type>`: The first address for each node address type, if it exists.
|
||||||
|
|
||||||
In addition, the `instance` label for the node will be set to the node name
|
In addition, the `instance` label for the node will be set to the node name
|
||||||
|
@ -724,10 +726,12 @@ service port.
|
||||||
Available meta labels:
|
Available meta labels:
|
||||||
|
|
||||||
* `__meta_kubernetes_namespace`: The namespace of the service object.
|
* `__meta_kubernetes_namespace`: The namespace of the service object.
|
||||||
* `__meta_kubernetes_service_annotation_<annotationname>`: The annotation of the service object.
|
* `__meta_kubernetes_service_annotation_<annotationname>`: Each annotation from the service object.
|
||||||
|
* `__meta_kubernetes_service_annotationpresent_<annotationname>`: "true" for each annotation of the service object.
|
||||||
* `__meta_kubernetes_service_cluster_ip`: The cluster IP address of the service. (Does not apply to services of type ExternalName)
|
* `__meta_kubernetes_service_cluster_ip`: The cluster IP address of the service. (Does not apply to services of type ExternalName)
|
||||||
* `__meta_kubernetes_service_external_name`: The DNS name of the service. (Applies to services of type ExternalName)
|
* `__meta_kubernetes_service_external_name`: The DNS name of the service. (Applies to services of type ExternalName)
|
||||||
* `__meta_kubernetes_service_label_<labelname>`: The label of the service object.
|
* `__meta_kubernetes_service_label_<labelname>`: Each label from the service object.
|
||||||
|
* `__meta_kubernetes_service_labelpresent_<labelname>`: `true` for each label of the service object.
|
||||||
* `__meta_kubernetes_service_name`: The name of the service object.
|
* `__meta_kubernetes_service_name`: The name of the service object.
|
||||||
* `__meta_kubernetes_service_port_name`: Name of the service port for the target.
|
* `__meta_kubernetes_service_port_name`: Name of the service port for the target.
|
||||||
* `__meta_kubernetes_service_port_number`: Number of the service port for the target.
|
* `__meta_kubernetes_service_port_number`: Number of the service port for the target.
|
||||||
|
@ -744,8 +748,10 @@ Available meta labels:
|
||||||
* `__meta_kubernetes_namespace`: The namespace of the pod object.
|
* `__meta_kubernetes_namespace`: The namespace of the pod object.
|
||||||
* `__meta_kubernetes_pod_name`: The name of the pod object.
|
* `__meta_kubernetes_pod_name`: The name of the pod object.
|
||||||
* `__meta_kubernetes_pod_ip`: The pod IP of the pod object.
|
* `__meta_kubernetes_pod_ip`: The pod IP of the pod object.
|
||||||
* `__meta_kubernetes_pod_label_<labelname>`: The label of the pod object.
|
* `__meta_kubernetes_pod_label_<labelname>`: Each label from the pod object.
|
||||||
* `__meta_kubernetes_pod_annotation_<annotationname>`: The annotation of the pod object.
|
* `__meta_kubernetes_pod_labelpresent_<labelname>`: `true`for each label from the pod object.
|
||||||
|
* `__meta_kubernetes_pod_annotation_<annotationname>`: Each annotation from the pod object.
|
||||||
|
* `__meta_kubernetes_pod_annotationpresent_<annotationname>`: `true` for each annotation from the pod object.
|
||||||
* `__meta_kubernetes_pod_container_name`: Name of the container the target address points to.
|
* `__meta_kubernetes_pod_container_name`: Name of the container the target address points to.
|
||||||
* `__meta_kubernetes_pod_container_port_name`: Name of the container port.
|
* `__meta_kubernetes_pod_container_port_name`: Name of the container port.
|
||||||
* `__meta_kubernetes_pod_container_port_number`: Number of the container port.
|
* `__meta_kubernetes_pod_container_port_number`: Number of the container port.
|
||||||
|
@ -789,8 +795,10 @@ Available meta labels:
|
||||||
|
|
||||||
* `__meta_kubernetes_namespace`: The namespace of the ingress object.
|
* `__meta_kubernetes_namespace`: The namespace of the ingress object.
|
||||||
* `__meta_kubernetes_ingress_name`: The name of the ingress object.
|
* `__meta_kubernetes_ingress_name`: The name of the ingress object.
|
||||||
* `__meta_kubernetes_ingress_label_<labelname>`: The label of the ingress object.
|
* `__meta_kubernetes_ingress_label_<labelname>`: Each label from the ingress object.
|
||||||
* `__meta_kubernetes_ingress_annotation_<annotationname>`: The annotation of the ingress object.
|
* `__meta_kubernetes_ingress_labelpresent_<labelname>`: `true` for each label from the ingress object.
|
||||||
|
* `__meta_kubernetes_ingress_annotation_<annotationname>`: Each annotation from the ingress object.
|
||||||
|
* `__meta_kubernetes_ingress_annotationpresent_<annotationname>`: `true` for each annotation from the ingress object.
|
||||||
* `__meta_kubernetes_ingress_scheme`: Protocol scheme of ingress, `https` if TLS
|
* `__meta_kubernetes_ingress_scheme`: Protocol scheme of ingress, `https` if TLS
|
||||||
config is set. Defaults to `http`.
|
config is set. Defaults to `http`.
|
||||||
* `__meta_kubernetes_ingress_path`: Path from ingress spec. Defaults to `/`.
|
* `__meta_kubernetes_ingress_path`: Path from ingress spec. Defaults to `/`.
|
||||||
|
|
Loading…
Reference in a new issue