分析 k8s docker 查看 内存 CPU使用率 k8s docker 性能 分析
2023-09-14 09:08:37 时间
分析 k8s 容器 内存 CPU使用率
安装metrics-server
参考github https://github.com/kubernetes-sigs/metrics-server
如下命令安装
mkdir metrics-server
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl apply -f components.yaml
使用如下的命令分析所有容器
kubectl get po -o wide -A |awk '{if ($3 !~ "0|READY") {print $1,$2}}'|while read ns pod;do kubectl top pod $pod -n $ns|grep -v NAME|awk '{printf ("%-60s%20s%20s\n",$1,$2,$3)}';done
或者只是看CPU和内存使用率高的pod
kubectl get po -o wide -A |awk '{if ($3 !~ "0|READY") {print $1,$2}}'|while read ns pod;do kubectl top pod $pod -n $ns|grep -v NAME|awk --posix '{if ($2 ~ "[0-9]{3}m"|| $3 ~ "[0-9]{4}Mi") printf ("%-60s%20s%20s\n",$1,$2,$3)}';done
分析docker的内存和CPU使用率
docker stats --no-stream --format "table {{.Container}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
下面是自定义的格式中可以使用的所有占位符:
.Container 根据用户指定的名称显示容器的名称或 ID。
.Name 容器名称。
.ID 容器 ID。
.CPUPerc CPU 使用率。
.MemUsage 内存使用量。
.NetIO 网络 I/O。
.BlockIO 磁盘 I/O。
.MemPerc 内存使用率。
.PIDs PID 号。
有了这些信息我们就可以完全按照自己的需求或者是偏好来控制 docker stats 命令输出的内容了。
JSON格式输出
docker stats --no-stream --format \
"{\"container\":\"{{ .Container }}\",\"memory\":{\"raw\":\"{{ .MemUsage }}\",\"percent\":\"{{ .MemPerc }}\"},\"cpu\":\"{{ .CPUPerc }}\"}"
相关文章
- k8s 中Java docker 容器被kill,日志仅仅出现Killed
- 云原生五大趋势预测,K8s 安卓化位列其一
- Docker 简介 入门 K8S [MD]
- Centos7二进制部署k8s-v1.20.2 ipvs版本(docker、etcd)
- K8S网络策略示例
- kind 单机k8s环境安装及使用:kubernetes in docker
- k8s部署postgresql(含postgis插件)
- 【网址收藏】k8s zookeeper-operator示例
- 【收藏】docker的privileged 与 k8s的privileged 设置方式
- k8s架构和组件
- 重新启动K8S集群
- Kubernetes(k8s)之jeckins自动化构建docker镜像并部署到k8s集群
- 使用Docker及k8s启动logstash服务
- 解决k8s的dashboard无内容显示的问题
- K8S Dashboard通过账号密码的方式登陆(四十四)
- K8S部署高可用postgresql集群 —— 筑梦之路
- k8s中pod、node、容器了解
- Kubernetes(k8s)架构设计
- 【面试题系列】K8S常见面试题
- K8S集群中Pod挂载Storageclass存储卷异常排查思路