查看k8s集群的资源使用情况

查看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输出以获取详细信息。

使用Kubernetes Dashboard

  • 安装Dashboard
    • 可以通过官方文档提供的指令来安装Kubernetes Dashboard。例如,在命令行中执行kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml来部署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资源请求与限制等。
  • 其他监控工具
    • 像Heapster曾经是Kubernetes的资源监控工具,不过目前已逐渐被其他工具替代。还有一些云厂商提供的监控工具,如阿里云的ARMS、腾讯云的TKE监控等,都可以用于查看K8s集群的资源使用情况,这些工具通常提供了更丰富的功能和更友好的界面。
相关推荐
AKAMAI7 小时前
利用DataStream和TrafficPeak实现大数据可观察性
人工智能·云原生·云计算
Johny_Zhao8 小时前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
鼠鼠我捏,要死了捏9 小时前
多租户Kubernetes集群架构设计实践——隔离、安全与弹性扩缩容
kubernetes·architecture·multi-tenancy
ldj202010 小时前
docker 自定义网桥作用
docker·容器
java叶新东老师10 小时前
k8s常用命令
云原生·容器·kubernetes
阿里云云原生10 小时前
阿里云正式开源 LoongSuite:打造 AI 时代的高性能低成本可观测采集套件
云原生
阿里云云原生10 小时前
从一起知名线上故障,谈配置灰度发布的重要性
云原生
liux352813 小时前
从零构建:Jenkins与Kubernetes集成的完整指南
java·kubernetes·jenkins
岚天start15 小时前
在K8S环境中,telnet nodePort端口是通的,但是 ss 获取不到端口号原因解析
iptables·kubernetes·k8s·telnet·ss
GEM的左耳返15 小时前
Java面试实战:从基础到架构的全方位技术交锋
spring boot·微服务·云原生·java面试·技术解析·ai集成