k8s中top指令使用前提:正确安装metrics-server

参考引用项目:https://www.cnblogs.com/lfl17718347843/p/14283796.html

Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。

确认metrics-server能否被使用的三个前提(验证以及修改方法https://cnblogs.com/lfl17718347843/p/14283796.html):

复制代码
1)API Server 启用 Aggregator Routing 支持
2)API Server 能访问 Metrics Server Pod IP。否则 API Server 无法访问 Metrics Server
3)启用API Aggregator,API Aggregation 允许在不修改 Kubernetes 核心代码的同时扩展 Kubernetes API,即:将第三方服务注册到 Kubernetes API 中,这样就可以通过 Kubernetes API 来访问第三方服务了,例如:Metrics Server API。注:另外一种扩展 Kubernetes API 的方法是使用 CRD(Custom Resource Definition,自定义资源定义)。

安装地址:

复制代码
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.1/components.yaml

修改components.yaml文件,注意修改镜像位置,添加tls参数

安装

复制代码
kubectl apply -f components.yaml

查看metrics-server服务状态

复制代码
[root@k8s-master ~]# kubectl get pod -n kube-system | grep metrics-server
metrics-server-7f4f6575f5-m885f            1/1     Running   0          38s

检查 API Server 是否可以连通 Metrics Server

复制代码
[root@k8s-master ~]#  kubectl describe svc metrics-server -n kube-system
Name:              metrics-server
Namespace:         kube-system
Labels:            k8s-app=metrics-server
Annotations:       <none>
Selector:          k8s-app=metrics-server
Type:              ClusterIP
IP:                10.96.94.79
Port:              https  443/TCP
TargetPort:        https/TCP
Endpoints:         10.244.169.135:4443
Session Affinity:  None
Events:            <none>
[root@k8s-master ~]# ping 10.244.169.135
PING 10.244.169.135 (10.244.169.135) 56(84) bytes of data.
64 bytes from 10.244.169.135: icmp_seq=1 ttl=63 time=0.252 ms
64 bytes from 10.244.169.135: icmp_seq=2 ttl=63 time=0.233 ms
^C
--- 10.244.169.135 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.233/0.242/0.252/0.018 ms

执行以下命令,检查节点占用性能情况。

复制代码
[root@k8s-master ~]# kubectl top nodes
NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
k8s-master   127m         6%     2263Mi          64%       
k8s-node1    91m          4%     1955Mi          55%       
k8s-node2    93m          4%     1821Mi          51%       

查看pod上的占用性能

复制代码
[root@k8s-master ~]# kubectl top po
NAME                         CPU(cores)   MEMORY(bytes)   
front-end-6b7b5c4bfc-d9wnb   0m           1Mi             
front-end-6b7b5c4bfc-fck82   0m           1Mi             
legacy-app                   1m           13Mi            
nginx-kusc00401              0m           2Mi       
相关推荐
程序员Forlan7 分钟前
初识云原生消息队列Pulsar
云原生
m_1368719 分钟前
OpenClaw v2026.3.12 离线源码构建与 Docker 部署完整教程
运维·docker·容器·openclaw
赴前尘1 小时前
docker buildx进行多架构镜像仓库迁移
docker·容器·架构
江畔何人初1 小时前
Gateway API 的核心组件与作用
运维·网络·云原生·kubernetes·gateway
劲墨难解苍生苦1 小时前
docker 和k8s 环境下达梦数据库开启ssl连接配置流程
数据库·docker·kubernetes
无级程序员1 小时前
k8s部署nacos 3.1.1服务,java.net.UnknownHostException问题终极解决方案
java·nacos·kubernetes
从入门到放弃-咖啡豆1 小时前
服务器部署docker 运行.NET 8 项目
服务器·docker·容器
qq_297574671 小时前
K8s系列第二篇:CentOS7/Ubuntu 一键搭建 K8s 集群(kubeadm 完整版)
ubuntu·容器·kubernetes
贮藏的仓鼠1 小时前
【k8s】nacos2.5.1容器化单节点部署
云原生·容器·kubernetes
L1624762 小时前
Docker 全维度学习指南(从入门到实战)
运维·docker·容器