Commit 81ed3a5
committed
[iris] k8s: bulk pod-metrics query to cut controller load
The k8s ResourceCollector polled one pod's metrics at a time: every tick
it fanned out top_pod(pod_name) -> get_namespaced_custom_object across a
32-thread pool, so an N-pod cluster issued N metrics-API requests per
tick. At ~1000 pods this is the dominant controller load.
Replace top_pod with a bulk top_pods(): a single
list_namespaced_custom_object on metrics.k8s.io (PodMetricsList), scoped
to the managed-pod label selector, returning pod_name -> usage for the
whole namespace in one request. The collector now does one API call per
tick regardless of pod count, looks up each tracked pod in the result,
and writes the rows in a single batched Table.write. The per-pod thread
pool is gone.
Also align the resource poll cadence with the metrics-server scrape
resolution: the collector ran every 5s, but metrics-server only refreshes
samples ~every 15s, so faster polling re-read identical values. Add a
resource_poll_interval (default 15s) separate from log_poll_interval.
Net effect at 1000 pods: from 1000 requests / 5s to 1 request / 15s.1 parent 3c5199d commit 81ed3a5
5 files changed
Lines changed: 175 additions & 87 deletions
File tree
- lib/iris
- src/iris/cluster/backends/k8s
- tests/cluster/backends/k8s
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
| 278 | + | |
278 | 279 | | |
279 | 280 | | |
280 | 281 | | |
281 | 282 | | |
282 | 283 | | |
283 | 284 | | |
| 285 | + | |
284 | 286 | | |
285 | 287 | | |
286 | 288 | | |
| |||
472 | 474 | | |
473 | 475 | | |
474 | 476 | | |
475 | | - | |
476 | | - | |
477 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
478 | 488 | | |
479 | 489 | | |
480 | 490 | | |
| 491 | + | |
481 | 492 | | |
482 | 493 | | |
483 | 494 | | |
| |||
610 | 621 | | |
611 | 622 | | |
612 | 623 | | |
613 | | - | |
| 624 | + | |
614 | 625 | | |
615 | 626 | | |
616 | 627 | | |
| |||
628 | 639 | | |
629 | 640 | | |
630 | 641 | | |
| 642 | + | |
| 643 | + | |
631 | 644 | | |
632 | 645 | | |
633 | 646 | | |
| |||
852 | 865 | | |
853 | 866 | | |
854 | 867 | | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
862 | 889 | | |
863 | 890 | | |
864 | 891 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| |||
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
687 | | - | |
| 687 | + | |
688 | 688 | | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
693 | 705 | | |
694 | | - | |
| 706 | + | |
695 | 707 | | |
696 | 708 | | |
697 | 709 | | |
698 | 710 | | |
699 | | - | |
700 | | - | |
| 711 | + | |
701 | 712 | | |
702 | 713 | | |
703 | 714 | | |
704 | | - | |
| 715 | + | |
705 | 716 | | |
706 | 717 | | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | | - | |
719 | | - | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
720 | 734 | | |
721 | 735 | | |
722 | 736 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
| |||
69 | 68 | | |
70 | 69 | | |
71 | 70 | | |
72 | | - | |
| 71 | + | |
73 | 72 | | |
74 | 73 | | |
75 | 74 | | |
| |||
1138 | 1137 | | |
1139 | 1138 | | |
1140 | 1139 | | |
1141 | | - | |
1142 | | - | |
1143 | | - | |
1144 | | - | |
1145 | | - | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
1146 | 1150 | | |
1147 | 1151 | | |
1148 | | - | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
1149 | 1160 | | |
1150 | 1161 | | |
| 1162 | + | |
| 1163 | + | |
1151 | 1164 | | |
1152 | 1165 | | |
1153 | 1166 | | |
1154 | 1167 | | |
1155 | 1168 | | |
1156 | | - | |
1157 | 1169 | | |
1158 | 1170 | | |
1159 | 1171 | | |
| |||
1164 | 1176 | | |
1165 | 1177 | | |
1166 | 1178 | | |
1167 | | - | |
1168 | | - | |
1169 | | - | |
1170 | | - | |
1171 | | - | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | | - | |
1176 | | - | |
1177 | | - | |
1178 | | - | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
1179 | 1187 | | |
1180 | | - | |
| 1188 | + | |
1181 | 1189 | | |
1182 | | - | |
1183 | | - | |
1184 | | - | |
| 1190 | + | |
1185 | 1191 | | |
1186 | 1192 | | |
1187 | | - | |
1188 | | - | |
1189 | | - | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
1193 | | - | |
1194 | | - | |
1195 | | - | |
1196 | | - | |
1197 | | - | |
1198 | | - | |
1199 | | - | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
1200 | 1213 | | |
1201 | | - | |
| 1214 | + | |
1202 | 1215 | | |
1203 | 1216 | | |
1204 | 1217 | | |
1205 | 1218 | | |
1206 | 1219 | | |
1207 | | - | |
1208 | 1220 | | |
1209 | 1221 | | |
1210 | 1222 | | |
| |||
1310 | 1322 | | |
1311 | 1323 | | |
1312 | 1324 | | |
| 1325 | + | |
| 1326 | + | |
1313 | 1327 | | |
1314 | 1328 | | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
1315 | 1333 | | |
1316 | 1334 | | |
1317 | 1335 | | |
| |||
1335 | 1353 | | |
1336 | 1354 | | |
1337 | 1355 | | |
1338 | | - | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
1339 | 1360 | | |
1340 | 1361 | | |
1341 | 1362 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
0 commit comments