江小南

V1

2022/10/23阅读:52主题:默认主题

【CKA、CKS篇】CKA真题解析——查看Pod的CPU

真题解析

题目

通过 pod label name=cpu-loader,找到运行时占用大量 CPU 的 pod。

并将占用 CPU 最高的 pod 名称写入文件 /opt/KUTR000401/KUTR00401.txt(已存在)。

考察点

kubectl top pod -l 命令的使用

解析

  1. 找到标签为name=cpu-loader的占用CPU大的Pod,可以使用排序的方式,没有指定命名空间,默认所有。
  2. 将占用最高CPU的Pod名称写入到/opt/KUTR000401/KUTR00401.txt中。

帮助命令

根据解析,我们可以通过相应的命令完成操作,在实际的考试中,可以查看帮助文档。

candidate@node01:~$ kubectl top pod -h
Display resource (CPU/memory) usage of pods.
...
Usage:
  kubectl top pod [NAME | -l label] [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).
candidate@node01:~$

实际操作

根据帮助文档将相应的命令补充完整。

candidate@node01:~$ kubectl top pod -l name=cpu-loader --sort-by=cpu -A
NAMESPACE   NAME         CPU(cores)   MEMORY(bytes)
cpu-top     redis-test   2m           3Mi
cpu-top     nginx-host   0m           3Mi
cpu-top     test0        0m           8Mi
candidate@node01:~$

说明:-A表示所有名称空间。

echo "redis-test" > /opt/KUTR000401/KUTR00401.txt

检查验证

candidate@node01:~$ cat /opt/KUTR000401/KUTR00401.txt
redis-test
candidate@node01:~$ 

至此这道题目完成。

扩展

  1. 查看节点的描述信息(Request、Limits等)
# kubectl describe node
candidate@node01:~$ kubectl describe node
Name:               master01
Roles:              control-plane
...
Name:               node01
Roles:              <none>
...
Name:               node02
Roles:              <none>
...
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
  cpu                200m (10%)  0 (0%)
  memory             290Mi (7%)  0 (0%)
  ephemeral-storage  0 (0%)      0 (0%)
  hugepages-1Gi      0 (0%)      0 (0%)
  hugepages-2Mi      0 (0%)      0 (0%)
Events:              <none>
candidate@node01:~$
  1. 查看节点的资源使用情况
# kubectl top node
candidate@node01:~$ kubectl top node
NAME       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
master01   137m         6%     1390Mi          36%
node01     77m          3%     1650Mi          43%
node02     62m          3%     979Mi           25%
candidate@node01:~$
  1. 查看名称空间下 Pod 资源使用情况
# kubectl top pod -n <namespace>
candidate@node01:~$ kubectl top pod
NAME                            CPU(cores)   MEMORY(bytes)
11-factor-app                   2m           1Mi
foo                             0m           7Mi
front-end-55455ccf94-pjl2m      0m           2Mi
presentation-5f64bd874c-68z8p   0m           2Mi
candidate@node01:~$
  1. 查看某个Pod的资源使用情况。
# kubectl top pod <podname>
candidate@node01:~$ kubectl top pod 11-factor-app
NAME            CPU(cores)   MEMORY(bytes)
11-factor-app   2m           1Mi
candidate@node01:~$
  1. 查看多个 pod 的资源使用情况。
# kubectl top pod |grep -E "<podname1>|<podname2>|…"
candidate@node01:~$ kubectl top pod | grep -E "11-factor-app|front-end-55455ccf94-pjl2m"
11-factor-app                   2m           1Mi
front-end-55455ccf94-pjl2m      0m           2Mi
candidate@node01:~$

分类:

后端

标签:

后端

作者介绍

江小南
V1