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       
相关推荐
潘正翔44 分钟前
k8s高级_调度器Deployment
linux·运维·云原生·容器·kubernetes·jenkins·devops
阿里云云原生1 小时前
云效 AI 助手深度解析:如何贯穿需求、代码、测试与发布的全链路闭环?
云原生
angushine3 小时前
Docker部署镜像管理
运维·docker·容器
潘正翔3 小时前
jenkins构建cicd流水线
运维·服务器·ci/cd·容器·自动化·jenkins·cicd
Lost of 程序猿3 小时前
Kubernetes 排障实战:从 CrashLoopBackOff 到网络不通
网络·容器·kubernetes
javachen__3 小时前
Docker一键清理 + 全局限制,告别日志报满
java·docker·容器
yunwei374 小时前
eBPF 教程:用 BPF Qdisc 实现出口限速
linux·云原生·开源
彭友圈1015 小时前
K8s 集群部署方法与原理总结
云原生·容器·kubernetes
dongchen。5 小时前
K8s部署实操
云原生·容器·kubernetes
xiaoxiangsiyan5 小时前
全网IPv6规模化改造实战指南
运维·网络·笔记·云原生·自动化