3 bash kubernetes kubectl amazon-eks
我试图列出 kubernetes 中所有节点的 cpu 和内存使用情况,如果内存或 cpu 限制超过某个数字,则回显“负载超出”。我列出了该命令的 cpu 和内存,但如何应用逻辑来回显该命令load exceeded
kubectl describe nodes | grep -A 3 "Resource .*Requests .*Limits"
输出:
Resource Requests Limits
-------- -------- ------
cpu 360m (18%) 13 (673%)
memory 2800Mi (84%) 9Gi (276%)
--
Resource Requests Limits
-------- -------- ------
cpu 1430m (74%) 22300m (1155%)
memory 2037758592 (58%) 15426805504 (441%)
--
Resource Requests Limits
-------- -------- ------
cpu 240m (12%) 5 (259%)
memory 692Mi (20%) 3Gi (92%)
--
Resource Requests Limits
-------- -------- ------
cpu 930m (48%) 3100m (160%)
memory 1971Mi (59%) 3412Mi (102%)
--
Resource Requests Limits
-------- -------- ------
cpu 270m (13%) 7 (362%)
memory 922Mi (27%) 4Gi (122%)
--
Resource Requests Limits
-------- -------- ------
cpu 530m (27%) 5 (259%)
memory 1360Mi (40%) 3Gi (92%)
--
Resource Requests Limits
-------- -------- ------
cpu 440m (22%) 5250m (272%)
memory 1020Mi (30%) 3884Mi (116%)
Run Code Online (Sandbox Code Playgroud)
尝试通过匹配正则表达式模式来提取您想要的属性
kubectl describe nodes | grep -E -A 3 "Resource|Requests|Limits"
Run Code Online (Sandbox Code Playgroud)
您可以像这样扩展它来提取CPU或MEMORY值
grep -E -A 3 "Resource|Requests|Limits" | awk '/cpu/{print $2}'
Run Code Online (Sandbox Code Playgroud)
编辑 要打印是否超出限制(例如 cpu 超过 1),
grep -E -A 3 "Limits" | awk '/cpu/{if($2 > 1) print "Limit Exceeded"; else print "Within Limits";}'
Run Code Online (Sandbox Code Playgroud)
你必须做
| awk '/memory/{print $2}' | awk -vFS="" '{print $1}'
Run Code Online (Sandbox Code Playgroud)
在应用条件之前从内存中提取数字,因为它给出了G带有数字的度量。
编辑2
这可以根据 grep 命令提供的输出为您提供比率。
中央处理器
| awk '/cpu/{print $1,$2,$4}' | awk '{if($3 ~ /[0-9]$/) {print $1,$2/($3*1000)} else {print $1,$2/$3}}'
Run Code Online (Sandbox Code Playgroud)
输出
cpu 0.0276923
cpu 0.0641256
cpu 0.048
cpu 0.3
cpu 0.0385714
cpu 0.106
cpu 0.0838095
Run Code Online (Sandbox Code Playgroud)
记忆
| awk '/memory/{print $1,$2,$4}' | awk '{if($3 ~ /Gi$/) {print $1,$2/($3*1024)} else {print $1,$2/$3}}'
Run Code Online (Sandbox Code Playgroud)
输出
memory 0.303819
memory 0.132092
memory 0.22526
memory 0.577667
memory 0.225098
memory 0.442708
memory 0.262616
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7484 次 |
| 最近记录: |