首页主机资讯Kubernetes如何监控CentOS系统状态

Kubernetes如何监控CentOS系统状态

时间2025-10-13 22:02:03发布访客分类主机资讯浏览859
导读:使用kubectl命令行工具(基础监控) kubectl是Kubernetes自带的命令行工具,可直接与集群交互,获取CentOS节点及集群资源的实时状态,适合快速排查问题。常用命令包括: 查看节点状态:kubectl get nodes...

使用kubectl命令行工具(基础监控)
kubectl是Kubernetes自带的命令行工具,可直接与集群交互,获取CentOS节点及集群资源的实时状态,适合快速排查问题。常用命令包括:

  • 查看节点状态kubectl get nodes(显示节点是否处于“Ready”状态,确认节点是否正常加入集群);
  • 查看Pod状态kubectl get pods --all-namespaces(查看所有命名空间的Pod运行状态,如“Running”“Pending”“Error”);
  • 查看Deployment状态kubectl get deployments --all-namespaces(确认应用部署的副本数、更新状态);
  • 查看集群事件kubectl get events --all-namespaces(获取集群内的异常事件,如Pod调度失败、节点资源不足);
  • 查看Pod实时日志kubectl logs < pod-name> -n < namespace> (查看指定Pod的日志,辅助定位应用问题)。

部署Prometheus+Grafana(核心监控与可视化)
Prometheus是开源时间序列数据库,专为动态云环境设计,可收集CentOS节点及K8s集群的指标数据(如CPU、内存、磁盘IO、网络流量);Grafana是可视化工具,可将Prometheus中的数据转化为直观的仪表盘,支持自定义查询与告警。

  • 安装Prometheus:通过Helm Chart快速部署(推荐使用kube-prometheus-stack,包含Prometheus、Alertmanager、Node Exporter等组件):
    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts & & helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring --create-namespace
  • 安装Grafana:同样通过Helm部署,并配置Prometheus为数据源(默认地址:http://prometheus-server.monitoring.svc.cluster.local:80):
    helm install grafana prometheus-community/grafana -n monitoring
  • 使用步骤:登录Grafana Web界面(默认地址http://< grafana-ip> :3000,账号admin/admin),添加Prometheus数据源后,导入现成K8s监控仪表盘(如ID为1860的“Kubernetes Cluster Monitoring”),即可查看节点与集群的实时状态。

利用cAdvisor(内置容器监控)
cAdvisor(Container Advisor)是Kubernetes内置的容器资源监控工具,集成在kubelet中,无需额外安装。它可实时采集CentOS节点上容器的资源使用数据(CPU、内存、磁盘IO、网络流量),并通过Kubelet的API暴露给Prometheus等工具。验证方法:直接访问节点的/metrics接口(如http://< node-ip> :10250/metrics/cadvisor),即可看到容器的资源使用数据。

部署kube-state-metrics(补充集群状态指标)
kube-state-metrics通过监听Kubernetes API服务器,生成有关集群资源对象的状态指标(如Deployment的副本数、Pod的调度状态、节点的可用性等),补充Prometheus对集群状态的监控维度。部署方式:通过Helm Chart安装:
helm install kube-state-metrics prometheus-community/kube-state-metrics -n monitoring --create-namespace。部署后,Prometheus会自动抓取kube-state-metrics的指标,丰富监控数据的覆盖范围。

部署Node Exporter(收集节点级系统指标)
Node Exporter用于收集CentOS节点的系统级指标(如CPU利用率、内存使用、磁盘I/O、网络流量等),填补Prometheus对节点本身的监控空白。部署方式为通过DaemonSet确保每个节点运行一个实例:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter
    spec:
      containers:
      - name: node-exporter
        image: prom/node-exporter
        ports:
        - containerPort: 9100
          name: metrics

部署后,Prometheus会自动抓取Node Exporter的指标,实现对节点系统状态的全面监控。

使用系统监控命令(快速排查节点问题)
在CentOS节点上,可使用系统自带命令快速查看系统状态,适合临时排查问题:

  • 实时显示系统进程与资源使用top(动态显示进程CPU、内存占用);htoptop的增强版,提供更友好的界面,需通过yum install epel-release & & yum install htop安装);
  • 显示系统虚拟内存与进程信息vmstat 1(每秒刷新一次,显示内存、CPU、磁盘IO等数据);
  • 查看内存使用情况free -h(以人类可读格式显示内存总量、已用、空闲等);
  • 查看磁盘IO统计iostat -x 1(显示磁盘分区的IO利用率、吞吐量等,需安装sysstat包);
  • 查看网络连接与接口统计netstat -tulnp(显示当前活动的网络连接、端口及进程);ss -s(更简洁的网络统计信息);
  • 实时显示系统资源使用dstat(综合显示CPU、内存、网络、磁盘等数据,需安装dstat包)。

可视化与告警配置(及时响应异常)
通过Grafana的告警功能与Alertmanager集成,可实现当指标超过阈值时触发通知(如邮件、Slack、PagerDuty)。常见告警示例:

  • 节点CPU使用率高
    alert: NodeCPUUsageHigh
    expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{
    mode="idle"}
        [5m])) * 100) >
     80
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Node {
    {
     $labels.instance }
    }
         CPU usage is high"
      description: "CPU usage is above 80% for 5 minutes"
    
  • Pod重启频繁
    alert: PodRestartFrequently
    expr: increase(kube_pod_container_status_restarts_total[1h]) >
     3
    for: 10m
    labels:
      severity: critical
    annotations:
      summary: "Pod {
    {
     $labels.pod }
    }
     in namespace {
    {
     $labels.namespace }
    }
         is restarting frequently"
      description: "Pod has restarted more than 3 times in the last hour"
    

配置Alertmanager后,当指标触发告警规则时,会通过指定渠道发送通知,帮助运维人员及时响应问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Kubernetes如何监控CentOS系统状态
本文地址: https://pptw.com/jishu/725175.html
Kubernetes如何优化CentOS网络配置 CentOS上Kubernetes日志如何查看

游客 回复需填写必要信息