@@ -55,6 +55,7 @@ func nodeMetricFamilies(allowAnnotationsList, allowLabelsList []string) []genera
55
55
createNodeStatusAllocatableFamilyGenerator (),
56
56
createNodeStatusCapacityFamilyGenerator (),
57
57
createNodeStatusConditionFamilyGenerator (),
58
+ createNodeStateAddressFamilyGenerator (),
58
59
}
59
60
}
60
61
@@ -105,6 +106,29 @@ func createNodeCreatedFamilyGenerator() generator.FamilyGenerator {
105
106
)
106
107
}
107
108
109
+ func createNodeStateAddressFamilyGenerator () generator.FamilyGenerator {
110
+ return * generator .NewFamilyGeneratorWithStability (
111
+ "kube_node_status_addresses" ,
112
+ "Node address information." ,
113
+ metric .Gauge ,
114
+ basemetrics .ALPHA ,
115
+ "" ,
116
+ wrapNodeFunc (func (n * v1.Node ) * metric.Family {
117
+ ms := []* metric.Metric {}
118
+ for _ , address := range n .Status .Addresses {
119
+ ms = append (ms , & metric.Metric {
120
+ LabelKeys : []string {"type" , "address" },
121
+ LabelValues : []string {string (address .Type ), address .Address },
122
+ Value : 1 ,
123
+ })
124
+ }
125
+ return & metric.Family {
126
+ Metrics : ms ,
127
+ }
128
+ }),
129
+ )
130
+ }
131
+
108
132
func createNodeInfoFamilyGenerator () generator.FamilyGenerator {
109
133
return * generator .NewFamilyGeneratorWithStability (
110
134
"kube_node_info" ,
@@ -134,6 +158,7 @@ func createNodeInfoFamilyGenerator() generator.FamilyGenerator {
134
158
n .Status .NodeInfo .SystemUUID ,
135
159
}
136
160
161
+ // TODO: remove internal_ip in v3, replaced by kube_node_status_addresses
137
162
internalIP := ""
138
163
for _ , address := range n .Status .Addresses {
139
164
if address .Type == "InternalIP" {
0 commit comments