Skip to content

Commit 53445fc

Browse files
committed
update internal_ip and external_ip node label for multi-value
1 parent 25bdd67 commit 53445fc

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

internal/store/node.go

+7-11
Original file line numberDiff line numberDiff line change
@@ -135,22 +135,18 @@ func createNodeInfoFamilyGenerator() generator.FamilyGenerator {
135135
}
136136

137137
internalIP := ""
138-
for _, address := range n.Status.Addresses {
139-
if address.Type == "InternalIP" {
140-
internalIP = address.Address
141-
}
142-
}
143-
labelKeys = append(labelKeys, "internal_ip")
144-
labelValues = append(labelValues, internalIP)
145-
146138
externalIP := ""
147139
for _, address := range n.Status.Addresses {
148-
if address.Type == "ExternalIP" {
140+
switch address.Type {
141+
case "InternalIP":
142+
internalIP = address.Address
143+
case "ExternalIP":
149144
externalIP = address.Address
150145
}
151146
}
152-
labelKeys = append(labelKeys, "external_ip")
153-
labelValues = append(labelValues, externalIP)
147+
148+
labelKeys = append(labelKeys, "internal_ip", "external_ip")
149+
labelValues = append(labelValues, internalIP, externalIP)
154150

155151
return &metric.Family{
156152
Metrics: []*metric.Metric{

internal/store/node_test.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ func TestNodeStore(t *testing.T) {
4646
},
4747
Addresses: []v1.NodeAddress{
4848
{Type: "InternalIP", Address: "1.2.3.4"},
49+
{Type: "InternalIP", Address: "fc00::"},
4950
{Type: "ExternalIP", Address: "5.6.7.8"},
5051
},
5152
},
@@ -61,7 +62,7 @@ func TestNodeStore(t *testing.T) {
6162
# TYPE kube_node_info gauge
6263
# TYPE kube_node_labels gauge
6364
# TYPE kube_node_spec_unschedulable gauge
64-
kube_node_info{container_runtime_version="rkt",kernel_version="kernel",kubelet_version="kubelet",kubeproxy_version="kubeproxy",node="127.0.0.1",os_image="osimage",pod_cidr="172.24.10.0/24",provider_id="provider://i-uniqueid",internal_ip="1.2.3.4",external_ip="5.6.7.8",system_uuid="6a934e21-5207-4a84-baea-3a952d926c80"} 1
65+
kube_node_info{container_runtime_version="rkt",kernel_version="kernel",kubelet_version="kubelet",kubeproxy_version="kubeproxy",node="127.0.0.1",os_image="osimage",pod_cidr="172.24.10.0/24",provider_id="provider://i-uniqueid",internal_ip="1.2.3.4",internal_ip="fc00::",external_ip="5.6.7.8",system_uuid="6a934e21-5207-4a84-baea-3a952d926c80"} 1
6566
kube_node_spec_unschedulable{node="127.0.0.1"} 0
6667
`,
6768
MetricNames: []string{"kube_node_spec_unschedulable", "kube_node_labels", "kube_node_info"},
@@ -106,6 +107,7 @@ func TestNodeStore(t *testing.T) {
106107
},
107108
Addresses: []v1.NodeAddress{
108109
{Type: "InternalIP", Address: "1.2.3.4"},
110+
{Type: "InternalIP", Address: "fc00::"},
109111
{Type: "ExternalIP", Address: "5.6.7.8"},
110112
},
111113
Capacity: v1.ResourceList{
@@ -142,7 +144,7 @@ func TestNodeStore(t *testing.T) {
142144
# TYPE kube_node_status_allocatable gauge
143145
# TYPE kube_node_status_capacity gauge
144146
kube_node_created{node="127.0.0.1"} 1.5e+09
145-
kube_node_info{container_runtime_version="rkt",kernel_version="kernel",kubelet_version="kubelet",kubeproxy_version="kubeproxy",node="127.0.0.1",os_image="osimage",pod_cidr="172.24.10.0/24",provider_id="provider://i-randomidentifier",internal_ip="1.2.3.4",external_ip="5.6.7.8",system_uuid="6a934e21-5207-4a84-baea-3a952d926c80"} 1
147+
kube_node_info{container_runtime_version="rkt",kernel_version="kernel",kubelet_version="kubelet",kubeproxy_version="kubeproxy",node="127.0.0.1",os_image="osimage",pod_cidr="172.24.10.0/24",provider_id="provider://i-randomidentifier",internal_ip="1.2.3.4",internal_ip="fc00::",external_ip="5.6.7.8",system_uuid="6a934e21-5207-4a84-baea-3a952d926c80"} 1
146148
kube_node_role{node="127.0.0.1",role="master"} 1
147149
kube_node_spec_unschedulable{node="127.0.0.1"} 1
148150
kube_node_status_allocatable{node="127.0.0.1",resource="cpu",unit="core"} 3

0 commit comments

Comments
 (0)