一、概述
k9s是一款基于终端的Kubernetes集群管理工具,由开发者Derailed团队维护。它通过实时监控集群状态、提供交互式界面,让用户无需反复输入kubectl命令即可完成资源查看、调试和管理操作。
为什么要用k9s呢?因为最近接触了一个私有云项目,这个云平台做的比较差,看不到任何监控信息。
所以只能通过命令行方式,查询node节点,pod这些资源,使用情况。
二、安装k9s
安装方式有很多,比如:
Linux一条命令安装
- curl -sS https://webinstall.dev/k9s | bash
复制代码 docker容器安装
- docker run -it --rm -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s
复制代码 github下载安装包安装
github下载地址:https://github.com/derailed/k9s/releases
我的是ubuntu 22.04系统,直接下载最新版本的deb文件即可
下载完成后,安装- dpkg -i k9s_linux_amd64.deb
复制代码 三、pod使用率
查看pod的cpu和内存使用率
比如查看uat-test命名空间下所有pod的使用情况输出如下:- Context: cce-48fefwi93fe4-260fd709-93c0-46da-b05… <0> all Attach <ctrl-k> Kill ____ __ ________
- Cluster: cce-48fefwi93fe4 <1> uat-test <ctrl-d> Delete <l> Logs | |/ / __ \______
- User: 260fd709-93c0-46da-b051-4874a96a0d64 <2> default <d> Describe <p> Logs Previous | /\____ / ___/
- K9s Rev: v0.50.9 <e> Edit <shift-f> Port-Forward | \ \ / /\___ \
- K8s Rev: v1.20.7 <?> Help <z> Sanitize |____|\__ \/____//____ /
- CPU: 33% <shift-j> Jump Owner <s> Shell \/ \/
- MEM: 73% Warning Memory level!
- ┌─────────────────────────────────────────────────────────── pods(uat-test)[6] ──────────────────────────────────────────────────────────┐
- │ NAME↑ PF READY STATUS RESTARTS CPU %CPU/R %CPU/L MEM %MEM/R %MEM/L IP NOD │
- │ gateway-6b7696c6d9-wclfv ● 1/1 Running 0 1 1 0 433 216 84 10.153.76.63 nth │
- │ info-7cc6c94678-99mbw ● 1/1 Running 0 2 2 1 632 316 63 10.153.76.89 nth │
- │ publishing-5dcb6b8748-bkqrs ● 1/1 Running 0 3 3 1 736 368 73 10.153.76.85 nth │
- │ system-5dc667574f-frv7r ● 1/1 Running 0 2 2 1 721 360 72 10.153.76.88 nth │
- │ user-7f4887776-zv4sf ● 1/1 CrashLoopBackOff 1 3 3 1 497 497 100 10.153.76.86 nth │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
- <pod>
-
复制代码 1.默认列含义
(以Pod视图为例)
列名 说明
NAME Pod名称,唯一标识符
NAMESPACE 所属命名空间(此处为uat-test)
STATUS Pod状态(Running/Pending/Failed等)
READY 容器就绪状态(格式:x/x,表示就绪容器数/总容器数)
RESTARTS 容器重启次数
AGE Pod创建后的存活时间
CPU% 当前CPU使用率(百分比)
MEM% 当前内存使用率(百分比)
CPU 实际CPU使用量(单位:m或核数,如500m=0.5核)
MEM 实际内存使用量(单位:Mi或Gi,如256Mi=256MB)
2. 关键指标说明
CPU%和MEM%:显示实时使用率,基于kubectl top pod数据动态更新
CPU和MEM:显示实际资源消耗量,与Pod的limits配置对比可判断是否超限
STATUS:异常状态(如CrashLoopBackOff)需结合kubectl describe pod排查
3. 其他视图差异
Deployment视图:会额外显示UP-TO-DATE(更新副本数)和AVAILABLE(可用副本数)
Node视图:包含CPU%和MEM%的节点级资源使用率统计
这里重点,只需要关注2个参数即可
%CPU/L(CPU限制使用率)
%MEM/L(内存限制使用率)
这2个参数,会实时更新,反应的是当前pod使用的资源情况。如果超过80%,就需要考虑增加对于的资源了,防止出现OOM的情况。
在上面的输出信息可以看到,user服务,内存使用率已经是100%了,需要增加内存了。
四、node节点使用率
输出如下:- Context: cce-48fefwi93fe4-260fd709-93c0-46da-b05… <c> Cordon <u> Uncordon ____ __ ________
- Cluster: cce-48fefwi93fe4 <ctrl-d> Delete <y> YAML | |/ / __ \______
- User: 260fd709-93c0-46da-b051-4874a96a0d64 <d> Describe | /\____ / ___/
- K9s Rev: v0.50.9 <r> Drain | \ \ / /\___ \
- K8s Rev: v1.20.7 <e> Edit |____|\__ \/____//____ /
- CPU: 13% <?> Help \/ \/
- MEM: 79% Warning Memory level!
- ┌──────────────────────────────────────────────────────────────────────────────── nodes(all)[2] ────────────────────────────────────────────────────────────────────────────────┐
- │ NAME↑ STATUS ROLE TAINTS VERSION PODS CPU CPU/A %CPU MEM MEM/A %MEM GPU/A GPU/C AGE │
- │ cast-kubernetes-test-master-bnvoaqcj Ready control-plane,master 1 v1.20.7 21 421 1800 23 5058 5426 93 n/a n/a 8d │
- │ cast-kubernetes-test-worker-tevaemdx Ready <none> 0 v1.20.7 27 323 3900 8 9241 12657 73 n/a n/a 6d2h │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
- <node>
复制代码 可以看到master节点,目前cpu和内存使用率,分别是:23%,93%
node节点,目前cpu和内存使用率,分别是:8%,73%
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |
|
|
|
相关推荐
|
|