如何使用 --output=custom-columns 选项通过 kubectl get 节点选择数组元素?
我无法从
--output=custom-columns
获取角色详细信息,其中集群具有多个 node-role.kubernetes.io
标签,并且 kubectl get nodes -o wide
未显示 CPU 和 MEM 容量详细信息
kubectl get nodes --output=custom-columns='NAME:.metadata.name,ROLES:TOBEDEFINED,CPU:.status.capacity.cpu,MEM:.status.capacity.memory,IP:.status.addresses[?(@.type=="InternalIP")].address'
NAME ROLES CPU MEM IP
node-001202 <none> 20 165018020Ki 23.252.214.44
node-001203 <none> 20 165018020Ki 23.252.214.45
node-001204 <none> 20 165018020Ki 23.252.214.46
node-005305 <none> 32 136136996Ki 23.252.214.48
node-005306 <none> 32 136136996Ki 23.252.214.49
node-005307 <none> 24 96660Mi 23.252.214.50
node-005308 <none> 24 96660Mi 23.252.214.51
node-005309 <none> 24 96660Mi 23.252.214.52
node-005310 <none> 24 96660Mi 23.252.214.53
node-005311 <none> 24 96660Mi 23.252.214.54
node-005312 <none> 24 96660Mi 23.252.214.55
node-005313 <none> 24 96660Mi 23.252.214.56
node-005325 <none> 16 136140460Ki 23.252.232.12
node-005326 <none> 16 136140460Ki 23.252.232.13
node-005327 <none> 16 136140460Ki 23.252.232.14
node-005328 <none> 40 164774268Ki 23.252.232.15
node-005329 <none> 40 164774268Ki 23.252.232.16
node-005330 <none> 40 164774268Ki 23.252.232.17
node-005331 <none> 40 164774268Ki 23.252.232.18
node-005332 <none> 40 164774268Ki 23.252.232.19
node-005333 <none> 40 164774268Ki 23.252.232.20
node-005334 <none> 40 164774268Ki 23.252.232.21
node-005335 <none> 40 164774268Ki 23.252.232.22
node-005336 <none> 40 164774260Ki 23.252.232.23
node-005337 <none> 40 164774268Ki 23.252.232.24
node-005338 <none> 40 164774268Ki 23.252.232.25
node-005339 <none> 40 164774268Ki 23.252.232.26
node-005340 <none> 40 164774268Ki 23.252.232.27
node-005341 <none> 40 164774268Ki 23.252.232.28
node-005342 <none> 40 164774268Ki 23.252.232.29
node-005343 <none> 40 164774268Ki 23.252.232.30
node-005344 <none> 40 164774268Ki 23.252.232.31
node-005345 <none> 40 164774268Ki 23.252.232.32
node-005346 <none> 40 164774268Ki 23.252.232.33
node-005347 <none> 40 164774268Ki 23.252.232.34
node-005348 <none> 40 164774268Ki 23.252.232.35
node-005349 <none> 40 164774268Ki 23.252.232.36
node-005350 <none> 40 164774268Ki 23.252.232.37
node-005351 <none> 40 164774268Ki 23.252.232.38
node-005352 <none> 40 164774268Ki 23.252.232.39
node-005353 <none> 40 164774268Ki 23.252.232.40
node-005354 <none> 40 164774268Ki 23.252.232.41
node-005355 <none> 40 164774268Ki 23.252.232.42
node-005356 <none> 40 164774268Ki 23.252.232.43
node-005357 <none> 40 164774268Ki 23.252.232.44
node-005358 <none> 40 164774268Ki 23.252.232.45
node-005359 <none> 40 164774268Ki 23.252.232.46
node-005360 <none> 40 164774268Ki 23.252.232.47
node-005361 <none> 40 164774268Ki 23.252.232.48
node-005362 <none> 40 164774268Ki 23.252.232.49
node-005363 <none> 40 164774268Ki 23.252.232.50
node-005364 <none> 40 164774268Ki 23.252.232.51
node-005365 <none> 40 164774268Ki 23.252.232.52
node-005366 <none> 40 164774268Ki 23.252.232.53
node-005367 <none> 40 164774268Ki 23.252.232.54
node-005368 <none> 40 164774268Ki 23.252.232.55
node-005369 <none> 40 164774268Ki 23.252.232.56
node-005370 <none> 40 164774268Ki 23.252.232.57
node-005371 <none> 40 164774268Ki 23.252.232.58
node-005372 <none> 40 164774268Ki 23.252.232.59
node-005373 <none> 40 164774268Ki 23.252.232.60
node-005374 <none> 40 164774268Ki 23.252.232.61
node-005375 <none> 40 164774268Ki 23.252.232.62
node-005376 <none> 40 164774268Ki 23.252.232.63
node-005377 <none> 40 164774268Ki 23.252.232.64
node-005378 <none> 40 164774268Ki 23.252.232.65
node-005379 <none> 40 164774268Ki 23.252.232.66
node-005380 <none> 40 164774268Ki 23.252.232.67
node-005440 <none> 16 136140460Ki 23.252.233.12
node-005441 <none> 16 136140460Ki 23.252.233.13
node-005442 <none> 40 164774268Ki 23.252.233.14
node-005443 <none> 40 164774268Ki 23.252.233.15
node-005444 <none> 40 164774268Ki 23.252.233.16
node-005445 <none> 40 164774268Ki 23.252.233.17
node-005446 <none> 40 164774268Ki 23.252.233.18
node-005555 <none> 8 16408500Ki 23.252.232.140
node-005556 <none> 8 16408500Ki 23.252.232.141
node-005557 <none> 8 16408500Ki 23.252.232.142
node-005563 <none> 8 16408492Ki 23.252.233.140
node-005564 <none> 8 16408500Ki 23.252.233.141
node-005565 <none> 8 16408500Ki 23.252.233.142
node-005625 <none> 16 136140460Ki 23.252.234.12
node-005626 <none> 16 136140460Ki 23.252.234.13
node-005627 <none> 16 136140460Ki 23.252.234.14
node-005633 <none> 40 165036620Ki 23.252.234.20
node-005634 <none> 40 165036620Ki 23.252.234.21
node-005635 <none> 40 165036620Ki 23.252.234.22
node-005636 <none> 40 165036620Ki 23.252.234.23
node-005637 <none> 40 165036620Ki 23.252.234.24
node-005638 <none> 40 165036620Ki 23.252.234.25
node-005639 <none> 40 165036620Ki 23.252.234.26
node-005640 <none> 40 165036620Ki 23.252.234.27
node-005641 <none> 40 165036620Ki 23.252.234.28
node-005642 <none> 40 165036620Ki 23.252.234.29
node-005643 <none> 40 165036620Ki 23.252.234.30
node-005644 <none> 40 165036620Ki 23.252.234.31
node-005645 <none> 40 165036620Ki 23.252.234.32
node-005740 <none> 16 136140460Ki 23.252.235.12
node-005741 <none> 16 136140460Ki 23.252.235.13
node-005742 <none> 40 164774268Ki 23.252.235.14
node-005743 <none> 40 164774268Ki 23.252.235.15
node-005745 <none> 40 165036620Ki 23.252.235.17
node-005746 <none> 40 165036620Ki 23.252.235.18
node-005747 <none> 40 165036620Ki 23.252.235.19
node-005748 <none> 40 165036620Ki 23.252.235.20
node-005855 <none> 8 16408492Ki 23.252.234.140
node-005856 <none> 8 16408500Ki 23.252.234.141
node-005857 <none> 8 16408500Ki 23.252.234.142
node-005863 <none> 8 16408500Ki 23.252.235.140
node-005864 <none> 8 16408492Ki 23.252.235.141
node-005865 <none> 8 16408500Ki 23.252.235.142
示例 kubectl 获取节点结果
kubectl get nodes
NAME STATUS ROLES AGE VERSION
node-001202 Ready master 2y309d v1.23.17+16bcd69
node-001203 Ready master 2y309d v1.23.17+16bcd69
node-001204 Ready master 2y309d v1.23.17+16bcd69
node-005305 Ready worker 10d v1.23.17+16bcd69
node-005306 Ready worker 10d v1.23.17+16bcd69
node-005307 Ready worker 14d v1.23.17+16bcd69
node-005308 Ready worker 14d v1.23.17+16bcd69
node-005309 Ready worker 14d v1.23.17+16bcd69
node-005310 Ready worker 14d v1.23.17+16bcd69
node-005311 Ready worker 14d v1.23.17+16bcd69
node-005312 Ready worker 14d v1.23.17+16bcd69
node-005313 Ready worker 14d v1.23.17+16bcd69
node-005325 Ready infra,worker 15d v1.23.17+16bcd69
node-005326 Ready infra,worker 15d v1.23.17+16bcd69
node-005327 Ready infra,worker 15d v1.23.17+16bcd69
node-005328 Ready worker-prod 214d v1.23.17+16bcd69
node-005329 Ready worker-prod 183d v1.23.17+16bcd69
node-005330 Ready worker-prod 214d v1.23.17+16bcd69
node-005331 Ready worker-prod 214d v1.23.17+16bcd69
node-005332 Ready worker-prod 214d v1.23.17+16bcd69
node-005333 Ready worker-prod 214d v1.23.17+16bcd69
node-005334 Ready worker-prod 200d v1.23.17+16bcd69
node-005335 Ready worker-prod 214d v1.23.17+16bcd69
node-005336 Ready worker-prod 214d v1.23.17+16bcd69
node-005337 Ready worker-prod 183d v1.23.17+16bcd69
node-005338 Ready worker-prod 183d v1.23.17+16bcd69
node-005339 Ready worker-prod 214d v1.23.17+16bcd69
node-005340 Ready worker-prod 214d v1.23.17+16bcd69
node-005341 Ready worker-prod 200d v1.23.17+16bcd69
node-005342 Ready worker-prod 200d v1.23.17+16bcd69
node-005343 Ready worker-prod 200d v1.23.17+16bcd69
node-005344 Ready worker-prod 200d v1.23.17+16bcd69
node-005345 Ready worker-prod 200d v1.23.17+16bcd69
node-005346 Ready worker-prod 200d v1.23.17+16bcd69
node-005347 Ready worker-prod 200d v1.23.17+16bcd69
node-005348 Ready worker-prod 200d v1.23.17+16bcd69
node-005349 Ready worker-prod 200d v1.23.17+16bcd69
node-005350 Ready worker-prod 200d v1.23.17+16bcd69
node-005351 Ready worker-prod 200d v1.23.17+16bcd69
node-005352 Ready worker-prod 200d v1.23.17+16bcd69
node-005353 Ready worker-prod 200d v1.23.17+16bcd69
node-005354 Ready worker-prod 200d v1.23.17+16bcd69
node-005355 Ready worker-prod 200d v1.23.17+16bcd69
node-005356 Ready worker-prod 200d v1.23.17+16bcd69
node-005357 Ready worker-prod 200d v1.23.17+16bcd69
node-005358 Ready worker-prod 200d v1.23.17+16bcd69
node-005359 Ready worker-prod 200d v1.23.17+16bcd69
node-005360 Ready worker-prod 200d v1.23.17+16bcd69
node-005361 Ready worker-prod 199d v1.23.17+16bcd69
node-005362 Ready worker-prod 199d v1.23.17+16bcd69
node-005363 Ready worker-prod 199d v1.23.17+16bcd69
node-005364 Ready worker-prod 199d v1.23.17+16bcd69
node-005365 Ready worker-prod 199d v1.23.17+16bcd69
node-005366 Ready worker-prod 199d v1.23.17+16bcd69
node-005367 Ready worker-prod 199d v1.23.17+16bcd69
node-005368 Ready worker-prod 199d v1.23.17+16bcd69
node-005369 Ready worker-prod 199d v1.23.17+16bcd69
node-005370 Ready worker-prod 199d v1.23.17+16bcd69
node-005371 Ready worker-prod 199d v1.23.17+16bcd69
node-005372 Ready worker-prod 199d v1.23.17+16bcd69
node-005373 Ready worker-prod 199d v1.23.17+16bcd69
node-005374 Ready worker-prod 199d v1.23.17+16bcd69
node-005375 Ready worker-prod 199d v1.23.17+16bcd69
node-005376 Ready worker-prod 199d v1.23.17+16bcd69
node-005377 Ready worker-prod 199d v1.23.17+16bcd69
node-005378 Ready worker-prod 199d v1.23.17+16bcd69
node-005379 Ready worker-prod 199d v1.23.17+16bcd69
node-005380 Ready worker-prod 199d v1.23.17+16bcd69
node-005440 Ready infra,worker 14d v1.23.17+16bcd69
node-005441 Ready infra,worker 14d v1.23.17+16bcd69
node-005442 Ready worker-prod 198d v1.23.17+16bcd69
node-005443 Ready worker-prod 198d v1.23.17+16bcd69
node-005444 Ready worker-prod 198d v1.23.17+16bcd69
node-005445 Ready worker-prod 198d v1.23.17+16bcd69
node-005446 Ready worker-prod 198d v1.23.17+16bcd69
node-005555 Ready worker 11d v1.23.17+16bcd69
node-005556 Ready worker 11d v1.23.17+16bcd69
node-005557 Ready worker 11d v1.23.17+16bcd69
node-005563 Ready worker 11d v1.23.17+16bcd69
node-005564 Ready worker 11d v1.23.17+16bcd69
node-005565 Ready worker 11d v1.23.17+16bcd69
node-005625 Ready infra,worker 15d v1.23.17+16bcd69
node-005626 Ready infra,worker 15d v1.23.17+16bcd69
node-005627 Ready infra,worker 15d v1.23.17+16bcd69
node-005633 Ready worker-test 14d v1.23.17+16bcd69
node-005634 Ready worker-test 14d v1.23.17+16bcd69
node-005635 Ready worker-test 14d v1.23.17+16bcd69
node-005636 Ready worker-test 14d v1.23.17+16bcd69
node-005637 Ready worker-test 14d v1.23.17+16bcd69
node-005638 Ready worker-test 14d v1.23.17+16bcd69
node-005639 Ready worker-test 15d v1.23.17+16bcd69
node-005640 Ready worker-test 15d v1.23.17+16bcd69
node-005641 Ready worker-test 15d v1.23.17+16bcd69
node-005642 Ready worker-test 15d v1.23.17+16bcd69
node-005643 Ready worker-test 18d v1.23.17+16bcd69
node-005644 Ready worker-test 18d v1.23.17+16bcd69
node-005645 Ready worker-test 16d v1.23.17+16bcd69
node-005740 Ready infra,worker 14d v1.23.17+16bcd69
node-005741 Ready infra,worker 14d v1.23.17+16bcd69
node-005742 Ready worker-test 217d v1.23.17+16bcd69
node-005743 Ready worker-test 217d v1.23.17+16bcd69
node-005745 Ready worker-test 9d v1.23.17+16bcd69
node-005746 Ready worker-test 9d v1.23.17+16bcd69
node-005747 Ready worker-test 14d v1.23.17+16bcd69
node-005748 Ready worker-test 14d v1.23.17+16bcd69
node-005855 Ready worker 11d v1.23.17+16bcd69
node-005856 Ready worker 11d v1.23.17+16bcd69
node-005857 Ready worker 11d v1.23.17+16bcd69
node-005863 Ready worker 11d v1.23.17+16bcd69
node-005864 Ready worker 11d v1.23.17+16bcd69
node-005865 Ready worker 10d v1.23.17+16bcd69
此命令未使用
custom-columns
,但它会起作用
kubectl get nodes -o json | jq -r '.items[] | select(.metadata.labels | to_entries[] | .key | test("^node-role.kubernetes.io/")) | .metadata.name as $name | .metadata.labels as $labels | .status.capacity as $capacity | "NAME:\($name), Role: \($labels | to_entries[] | select(.key | test("^node-role.kubernetes.io/")) | .key | sub("^node-role.kubernetes.io/"; "")), CPU: \($capacity.cpu), MEM: \($capacity.memory)"'