我遵循了本页中第一个可能的解决方案:检查kubernetes pod CPU和内存
我试过命令:
Kubectl执行pod_name-- /bin/bash
但是它不起作用,因此我尝试了这个命令:
kubectl exec-n[namespace][pod_name]--目录测试.log
我知道这一点,因为当我运行该命令时:
kubectl获取pods--所有名称空间|grep[pod_name]
这是我看到的:
POD_NAME
但我收到此错误消息:
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"cat\": executable file not found in $PATH": unknown
command terminated with exit code 126
你能让我知道如何解决这个问题吗?
##更新我尝试了k9s工具,但我也看不到CPU、成品吊舱的MEM,我们看不到成品吊舱中的CPU、MEM是正常的吗?
千禧年
看起来您想检查已完成
的Pods的内存和CPU使用率。
我尝试了k9s工具,我也看不到CPU,已完成的容器的MEM,我们看不到已完成的容器的CPU,MEM是正常的吗?
我注意到它已经在运行,但使用此命令kubectl top pods-n%namespace%,我确实看到了运行pod的CPU、MEM,但没有看到已经完成的那个。
标记为已完成
的播客不再运行(已终止),我们无法使用kubectl exec命令连接到它:
$ kubectl exec -it -n cronjob hello-1618235100-xwxkc -- bash
error: cannot exec into a container in a completed pod; current phase is Succeeded
我们可以使用< code>kubectl get -ojson命令看到Pod阶段:
$ kubectl get pod hello-1618235100-xwxkc -n cronjob
NAME READY STATUS RESTARTS AGE
hello-1618235100-xwxkc 0/1 Completed 0 6m11s
$ kubectl get pod hello-1618235100-xwxkc -n cronjob -ojson | grep -i phase
"phase": "Succeeded",
可以在Pod相位留档中找到:
成功-播客中的所有容器都已成功终止,不会重新启动。
无法显示带有 kubectl top
命令的 Pod,因为指标服务器不存储指标历史记录(请参阅:指标服务器文档文档):
只会记住每个度量的最新值。如果用户需要访问历史数据,则应使用第三方监控解决方案或自行存档指标
查看pod的cpu和内存使用情况的最直接方法是安装metrics服务器,然后使用kubectl top-pods
指标服务器对集群的影响很小,它将帮助您监控集群。
您链接的SO帖子中的答案对我来说似乎是一个黑客,绝对不是监视您的Pod资源使用情况的常用方法。