查看Kubernetes(k8s)集群的资源使用情况有多种方法,以下是一些常见的方式:
使用kubectl命令行工具
-
查看节点资源使用情况
-
kubectl top nodes
命令可以显示集群中各个节点的CPU和内存使用情况。例如:NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
node1 100m 5% 800Mi 40%
node2 200m 10% 1200Mi 60%
-
-
查看Pod资源使用情况
-
kubectl top pods
命令可以展示每个Pod的CPU和内存使用量。如想查看特定命名空间下的Pod资源使用情况,可使用-n
参数指定命名空间,示例如下:kubectl top pods -n mynamespace
- 若想查看某个Pod内具体容器的资源使用情况,命令格式为
kubectl top pod <pod名称> -n <命名空间> -o json
,然后可以通过工具如jq
来解析JSON输出以获取详细信息。
- 若想查看某个Pod内具体容器的资源使用情况,命令格式为
-
使用Kubernetes Dashboard
- 安装Dashboard
- 可以通过官方文档提供的指令来安装Kubernetes Dashboard。例如,在命令行中执行
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
来部署Dashboard。
- 可以通过官方文档提供的指令来安装Kubernetes Dashboard。例如,在命令行中执行
- 访问Dashboard
- 部署完成后,使用
kubectl proxy
命令启动代理,然后在浏览器中访问http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
,即可进入Dashboard界面。 - 在Dashboard中,可以直观地查看集群中节点、Pod、Deployment等资源的使用情况,包括CPU、内存的使用百分比和请求量等信息,还能查看资源使用的趋势图表。
- 部署完成后,使用
使用监控工具
- Prometheus + Grafana
- 部署Prometheus :可以使用Helm等工具来部署Prometheus到Kubernetes集群中。例如,添加Prometheus社区的Helm仓库
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
,然后执行helm install my-prometheus prometheus-community/prometheus
来安装。 - 配置Grafana :同样可以用Helm安装Grafana,如
helm install my-grafana grafana/grafana
。安装完成后,将Prometheus作为数据源添加到Grafana中,然后可以在Grafana中导入各种预定义的Kubernetes监控仪表盘,或者自定义仪表盘来展示集群资源使用的详细指标和趋势,如集群整体的CPU使用率、内存使用量、Pod资源请求与限制等。
- 部署Prometheus :可以使用Helm等工具来部署Prometheus到Kubernetes集群中。例如,添加Prometheus社区的Helm仓库
- 其他监控工具
- 像Heapster曾经是Kubernetes的资源监控工具,不过目前已逐渐被其他工具替代。还有一些云厂商提供的监控工具,如阿里云的ARMS、腾讯云的TKE监控等,都可以用于查看K8s集群的资源使用情况,这些工具通常提供了更丰富的功能和更友好的界面。