📝 CKA 1.26·第2题|Kubernetes 显示资源的使用情况
场景: 显示如CPU/内存等资源的使用情况,该命令允许查看节点或者Pod的资源消耗情况。
一、题目要求
- 切换上下文到
k8s
集群。 - 通过pod label
name=cpu-utilizer
,找到运行时占用大量CPU的pod - 将占用CPU最高的pod名称写入文件/opt/KUTR00401/KUTR00401.txt(已存在)。
二、核心命令示例
bash
# 1. 切换上下文
kubectl config use-context k8s
# 2. 查询
kubectl top pod -l name=cpu-utilizer -A --sort-by=cpu-utilizer
# 3. 将查询结果写入文件
echo "查出来的结果" > /opt/KUTR00401/KUTR00401.txt
三、关键点提示
- 理解与使用kubectl top。 使用的格式为: kubectl top [flags]
kubectl top node
选项 | 作用概述 |
---|---|
-h, --help | node 操作的帮助命令。 |
--no-headers | 如果存在,则打印没有标头的输出。 |
-l, --selector string | 用来执行过滤的选择算符(标签查询),支持 '='、'==' 和 '!='(例如 -l key1=value1,key2=value2)。 匹配的对象必须满足所有指定的标签约束。 |
--show-capacity | 基于节点的 Capacity 而不是 Allocatable(默认)打印节点资源。 |
--sort-by string | 如果非空,则使用指定字段对节点列表进行排序。字段可以是 "cpu" 或 "memory"。 |
--use-protocol-buffers(默认值:true) | 启用协议缓冲区(protocol-buffers)以访问 Metrics API。 |
kubectl top pod
选项 | 作用概述 |
---|---|
-A, --all-namespaces | 如果存在,则列举所有命名空间中请求的对象。 即使使用 --namespace 指定,当前上下文中的命名空间也会被忽略。 |
-h, --help | pod 操作的帮助命令。 |
--no-headers | 如果存在,则打印没有标头的输出。 |
-l, --selector string | 用来执行过滤的选择算符(标签查询),支持 '='、'==' 和 '!='(例如 -l key1=value1,key2=value2)。 匹配的对象必须满足所有指定的标签约束。 |
--sum | 打印资源使用量的总和。 |
--sort-by string | 如果非空,则使用指定字段对节点列表进行排序。字段可以是 "cpu" 或 "memory"。 |
--use-protocol-buffers(默认值:true) | 启用协议缓冲区(protocol-buffers)以访问 Metrics API。 |
--field-selector string | 过滤所用的选择算符(字段查询),支持 '='、'==' 和 '!='。 (例如 --field-selector key1=value1,key2=value2)。服务器针对每种类型仅支持有限数量的字段查询。 |
--containers | 如果存在,则打印 Pod 内的容器的使用情况。 |