当前位置: 首页 > news >正文

kubernetes学习-使用metrics-server监控集群资源和查看日志

kubernetes学习-使用metrics-server监控集群资源和查看日志

    • 一 、简介
    • 二、应用场景
    • 三、部署
    • 四、查看日志

一 、简介

Metrics Server 是一个用于 Kubernetes 集群的监控工具,它用于收集、存储和提供关于集群中各种资源的度量数据。Metrics Server 是 Kubernetes 中一个核心的指标收集器,可以提供关于 CPU 和内存使用情况、节点资源利用率以及其他重要指标的信息。它主要用于水平自动扩展(Horizontal Pod Autoscaling,HPA)和 Kubernetes Dashboard 等 Kubernetes 组件的正常运行。

Metrics Server 通过轮询 Kubernetes API 服务器来获取有关容器、节点和集群级别资源使用情况的数据。然后,它将这些数据存储在内存中,并在请求时返回给用户或其他 Kubernetes 组件。Metrics Server 不存储历史数据,因此它主要用于实时监控和自动化任务。

Metrics Server 的工作原理是通过在每个节点上运行的 kubelet 组件定期收集容器和节点级别的度量数据,并将其暴露给 Metrics Server。Metrics Server 将这些数据聚合并提供给 Kubernetes API 服务器,以便用户可以使用 kubectl 或其他工具查询集群的资源使用情况。

Metrics Server 是 Kubernetes 的一个重要组件,特别是在需要进行自动扩展或监控集群资源使用情况时。它可以帮助管理员和开发人员更好地了解其集群的运行状况,并且可以根据实时数据进行自动化操作。
在这里插入图片描述

二、应用场景

有了Metrics Server,你可以实现以下功能:

  1. 水平自动扩缩(Horizontal Pod Autoscaler, HPA):根据实际资源使用情况自动增加或减少Pod的数量。
  2. 资源调度优化:更好的了解每个工作负载的需求,从而更有效地分配资源。 性能监控:定期检查集群性能,确保服务稳定运行。
  3. 故障排查:快速定位资源瓶颈,帮助解决性能问题。

特点

  1. 轻量级:Metrics Server不需要额外安装代理或者守护进程,降低了系统的复杂性。
  2. 高效:实时更新,提供近乎实时的度量数据。
  3. 可扩展:可以与其他监控工具(如Prometheus、Grafana)集成,丰富监控场景。
  4. 社区活跃:由Kubernetes Incubator维护,拥有丰富的文档和支持。

三、部署

官方部署文档
下载components.yaml文件到本地

~]# wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改yaml文件,在文件中添加上–kubelet-insecure-tls
在这里插入图片描述
部署

~]# kubectl apply -f components.yaml
~]# kubectl get pods -A
NAMESPACE              NAME                                         READY   STATUS    RESTARTS        AGE
kube-system            calico-kube-controllers-cd8566cf-ljnnf       1/1     Running   3 (95m ago)     100m
kube-system            calico-node-bhpwv                            1/1     Running   0               100m
kube-system            calico-node-sn6vw                            1/1     Running   0               100m
kube-system            calico-node-vdcz7                            1/1     Running   0               100m
kube-system            coredns-6d8c4cb4d-kh4md                      1/1     Running   2 (138m ago)    4h31m
kube-system            coredns-6d8c4cb4d-qw6hc                      1/1     Running   2 (138m ago)    4h31m
kube-system            etcd-master                                  1/1     Running   10 (138m ago)   4h31m
kube-system            kube-apiserver-master                        1/1     Running   9 (138m ago)    4h31m
kube-system            kube-controller-manager-master               1/1     Running   12 (138m ago)   4h31m
kube-system            kube-proxy-7sc8n                             1/1     Running   6 (146m ago)    4h27m
kube-system            kube-proxy-7v7rb                             1/1     Running   2 (138m ago)    4h31m
kube-system            kube-proxy-fjfjd                             1/1     Running   2 (140m ago)    4h28m
kube-system            kube-scheduler-master                        1/1     Running   11 (138m ago)   4h31m
kube-system            metrics-server-c59bb7d44-7q6mv               1/1     Running   0               68s

查看资源占用命令

~]# kubectl top node		# 查看节点资源占用情况
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master    160m         8%     1715Mi          62%       
node-01   63m          6%     947Mi           55%       
node-02   64m          6%     900Mi           52%
~]# kubectl top pod -A		# 查看pod占用资源情况
NAMESPACE              NAME                                         CPU(cores)   MEMORY(bytes)   
kube-system            calico-kube-controllers-cd8566cf-ljnnf       1m           22Mi            
kube-system            calico-node-bhpwv                            19m          79Mi            
kube-system            calico-node-sn6vw                            21m          78Mi            
kube-system            calico-node-vdcz7                            20m          74Mi            
kube-system            coredns-6d8c4cb4d-kh4md                      1m           12Mi            
kube-system            coredns-6d8c4cb4d-qw6hc                      1m           15Mi            
kube-system            etcd-master                                  8m           65Mi            
kube-system            kube-apiserver-master                        32m          317Mi           
kube-system            kube-controller-manager-master               8m           50Mi            
kube-system            kube-proxy-7sc8n                             1m           8Mi             
kube-system            kube-proxy-7v7rb                             1m           13Mi            
kube-system            kube-proxy-fjfjd                             1m           14Mi            
kube-system            kube-scheduler-master                        2m           19Mi            
kube-system            metrics-server-c59bb7d44-7q6mv               2m           13Mi            
kubernetes-dashboard   dashboard-metrics-scraper-799d786dbf-684mg   1m           7Mi             
kubernetes-dashboard   kubernetes-dashboard-6b6b86c4c5-s7xmd        1m           19Mi

如果无法联网下载镜像,也可以使用我上传的资源metrics-server下载

四、查看日志

查看pod中容器日志
命令:kubectl logs {pod名称} -n {命名空间名称} -f
查看kebelet日志
命令: journalctl -u kebelet -f
容器终端中查看日志
命令:kubectl exec -it {pod名称} – bash # 进入容器内
标准输出在宿主机的路径
/var/lib/docker/containers/{容器ID}/{容器ID}-json.log

http://www.lryc.cn/news/505666.html

相关文章:

  • 解决 Git Permission denied 问题
  • CCNP_SEC_ASA 第三天作业
  • TypeError: Cannot read properties of null (reading ‘ce‘)
  • AdminJS - 集成 MySQL 的现代化管理面板开发指南
  • 上传文件(vue3)
  • 【Win10 环境vscode配置boost】
  • 中间件 redis安装
  • [java] 简单的熔断器scala语言案例
  • 【java】序列化的种类和使用场景
  • Qt5与Qt6中的高DPI缩放属性解析
  • Mac使用总结
  • 【日期规则】EXCEl 自定义日期匹配规则,学习基础知识,自由匹配场景
  • 苹果电脑可以安装windows操作系统吗?Mac OS X/OS X/macOS傻傻分不清?macOS系统的Java支持?什么是macOS的五大API法王?
  • 芋道SpringBoot配置Maven、创建SpringBoot项目、创建Web接口、读取配置信息
  • 物理机内网穿透
  • Vue 3: 通过图片链接获取图片颜色,间接设置背景颜色
  • opencv-python的简单练习
  • 如何使用生成式AI实现跨领域内容生成
  • 【Linux】socket编程1
  • Linux文件属性 --- 七种文件类型---文件.目录、软硬链接、字符设备文件
  • Tree-of-Counterfactual Prompting for Zero-Shot Stance Detection
  • NextJs 路由管理
  • hive 小文件分析
  • 【JavaWeb后端学习笔记】WebSocket通信
  • 搭建springmvc项目
  • Springboot3.x配置类(Configuration)和单元测试
  • java后端环境配置
  • 手眼标定工具操作文档
  • WebGIS城市停水及影响范围可视化实践
  • 无管理员权限 LCU auth-token、port 获取(全网首发 go)