揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?

这篇具有很好参考价值的文章主要介绍了揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

往期精彩:

  • 提升CKA考试胜算:一文带你全面了解RBAC权限控制!

kubectl top 是一个用于查看 Kubernetes 集群中资源使用情况的命令。它可以显示节点或Pod的CPU、内存和存储的使用情况。该命令要求正确配置Metrics Server并在服务器上工作。

什么是Metrics Server

Metrics ServerKubernetes 内置自动缩放管道的可扩展、高效的容器资源指标来源。Metrics ServerKubelets 收集资源指标,并通过 Metrics API Kubernetes apiserver 中公开它们,以供 Horizontal Pod AutoscalerVertical Pod Autoscaler 使用。Metrics API 也可以通过访问kubectl top,从而更容易调试自动缩放管道。

安装Metrics Server

  1. 先到Metrics Server项目地址,查询对应版本支持那个K8S版本。如下图:

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

  1. 由于我安装的k8S版本是1.28.2,所以,需要下载上图的1.21+的版本。执行如下的命令:
wget  https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml
  1. 修改components.yaml配置文件,把镜像的地址修改阿里云镜像,并添加一个参数kubelet-insecure-tls,如下
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=10250
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls
        image: registry.aliyuncs.com/google_containers/metrics-server:v0.7.0
        imagePullPolicy: IfNotPresent
  1. 执行kubectl apply -f components.yaml命令部署。成功后如下图,这样就可以通过kubectl top 命令查看节点和pod的资源情况。

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

kubectl top基本用法

详细的用法可以通过kebectl top pod|node -h。 以下列举工作中常用的命令:

  1. 查看集群中所有节点资源使用情况:
kubectl top nodes 

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

  1. 查看集群中某个节点资源使用情况
kubectl top nodes k8s-node1

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

  1. 查询集群中所有Pod资源使用情况:
kubectl top pods  -A  

-A 是列举所有命名空间的pod,默认是default名空间

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

  1. 查询集群中所有Pod资源情况,并安装CPU利用进行排序:
 kubectl top pods  -A --sort-by=cpu

sort-by: 支持两个参数 cpu和memory

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

  1. 通过lebel值查询Pod资源情况
kubectl top pod -l k8s-app=kube-dns  -A

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

CKA真题

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

切换 k8s 集群环境:kubectl config use-context k8s
Task:
找出标签是name=cpu-user的Pod,并过滤出使用CPU最高的 Pod,然后把它的名字写在已经存在的 /opt/KUTR00401/KUTR00401.txt文件里(注意他没有说指定namespace,所以需要使用-A指定所有 namespace)。

我先在K8S环境新建了两个Pod模拟高CPU的应用,如下图:

揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

解题思路:文章来源地址https://www.toymoban.com/news/detail-826687.html

#切换集群
kubectl config use-context k8s

# 通过管道符,一条命令把结果保存到文件中
 kubectl top pod -l name=cpu-user \
 --sort-by=cpu  --no-headers=true -A \
 | head -n 1 | awk '{print $2}'  >> \
 /opt/KUTR00401/KUTR00401.txt
  • -A:列出所有的命名空间的Pod
  • –no-headers=true:返回的结果没有表头,如下图
    揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?,K8S,CKA,运维,kubernetes,容器,v1.28.2,CKA

到了这里,关于揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux性能监控命令-ps,top、pstree

    ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。ps 命令有多种不同的使用方法,源于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾

    2024年01月20日
    浏览(60)
  • 多监控系统产生的告警如何高效管理 - 运维事件中心

    随着互联网服务深入千行百业,数字化成为企业和机构为用户提供服务的重要形式。在企业的IT基础架构趋于复杂化的过程中,运维管理工作的技术性也有了更高的要求。如果针对相关的故障,企业无法做到及时的发现和响应,将会延长上层业务中断的事件,缺位的运维将会

    2024年01月16日
    浏览(53)
  • 监控易机房运维大屏:打造高效机房管理的新标杆

        在当今这个数字化、信息化的时代,企业的运营离不开高效、稳定的IT系统的支持。而机房作为企业数据和业务的中心,其运维管理的效率和质量对于企业的运营至关重要。为了提升机房管理效率,许多企业选择使用监控易一体化运维管理软件。其中,监控易机房运维大

    2024年02月07日
    浏览(47)
  • 【精品】kubernetes(K8S)集群top命令监控 Pod 度量指标

    提示:做到举一反三就要学会使用help信息 找出标签是name=cpu-user的Pod,并过滤出使用CPU最高的Pod,然后把它的名字写在已经存在的/opt/cordon.txt文件里 了解pod指标,主要需要关注,CPU与内存占用率;生产环境,可能有几十个pod,我们为了使其便于快速检索到需要的pod,可以学会

    2024年02月16日
    浏览(52)
  • Python海康威视SDK实现实时预览:快速构建高效视频监控系统

    Python海康威视SDK实现实时预览:快速构建高效视频监控系统 在当今社会,安全问题越来越受到人们的关注,越来越多的企业和机构开始建设视频监控系统。而Python作为一种高效、易用的编程语言,已经成为了许多开发人员的首选。本文将介绍如何使用Python海康威视SDK来实现实

    2024年02月14日
    浏览(57)
  • K8S---kubectl top

    该命令类似于linux–top命令,用于显示node和pod的CPU和内存使用情况

    2024年02月01日
    浏览(61)
  • 【云原生-k8s】kubectl top pod 报错:error: Metrics API not available

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!

    2023年04月09日
    浏览(47)
  • 常见的Kubernetes命令之kubectl命令详解

    资源查看命令 这些命令用于查看 Kubernetes 集群中的资源状态和信息: kubectl get nodes :查看所有节点的状态和信息。例如节点的名称、IP 地址、状态、版本等。 kubectl get pods :查看所有 pod 的状态和信息。例如 pod 的名称、所在节点、状态、IP 地址、容器状态等。 kubectl get se

    2024年02月16日
    浏览(42)
  • kubectl常用命令

    namespace 概念就是文件夹  pods可以由一个或者多个容器组成,pod类似与运行的进程(qq,qq由多个进程组成),images就是镜像(启动容器用) kubectl get pods -A  查看所有的命令空间下的pods   kubectl describe node  查看所有节点的cpu和内存使用情况 kubectl describe node nodename |grep Taints

    2024年02月05日
    浏览(35)
  • 【Kubernetes】kubectl 常用命令

    kubectl 是 Kubernetes 提供的命令行管理工具。通过使用 kubectl ,可以管理和操作 Kubernetes。 命令 说明 create 通过文件名或标准输入创建 Kubernetes 的资源 expose 将 Kubernetes 的资源展露为一个服务 run 在集群中运行一个特定的镜像 set 修改对象的特定功能 explain 给资源添加文档说明

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包