温馨提示×

centos部署k8s如何监控

小樊
52
2026-09-09 09:40:50
栏目: 智能运维

在 CentOS 上部署 Kubernetes(k8s)后,监控通常分为 集群监控、节点监控、应用监控、日志监控 几个层次。下面给你一套实战常用方案,从简单到生产级。


一、基础监控(必须做)

1️⃣ 节点级监控(Node)

监控内容:CPU、内存、磁盘、网络、负载

方案 A:node-exporter + Prometheus(推荐)

# 在所有 CentOS 节点安装
yum install -y golang git

或使用二进制:

wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar -xvf node_exporter-*.tar.gz
cd node_exporter-*
./node_exporter &

访问:

http://节点IP:9100/metrics

二、Kubernetes 集群监控(生产标配)

2️⃣ Prometheus + Grafana(最主流)

架构

kube-state-metrics
node-exporter
cAdvisor(kubelet 自带)
        ↓
    Prometheus
        ↓
     Grafana

快速部署(Helm)

# 添加 repo
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

# 安装
helm install k8s-monitor prometheus-community/kube-prometheus-stack -n monitoring --create-namespace

访问 Grafana:

kubectl port-forward -n monitoring svc/k8s-monitor-grafana 3000:80

默认账号:admin / prom-operator

✅ 包含:

  • 节点资源
  • Pod 状态
  • 容器 CPU / 内存
  • 网络 IO
  • 告警规则

三、Kubernetes 内部组件监控

3️⃣ kube-state-metrics

监控:

  • Deployment / ReplicaSet
  • Pod 状态
  • 节点 NotReady
  • 资源 Request / Limit

通常 kube-prometheus-stack 已包含


四、日志监控(非常重要)

4️⃣ EFK / Loki

方案 A:Loki(轻量,推荐)

Pod 日志 → Promtail → Loki → Grafana

部署:

helm install loki grafana/loki-stack -n logging --create-namespace

方案 B:EFK

  • Elasticsearch
  • Fluentd / Filebeat
  • Kibana

适合日志量大、检索复杂场景


五、告警(必须配置)

5️⃣ Alertmanager

监控:

  • 节点 NotReady
  • Pod CrashLoopBackOff
  • 内存 > 90%
  • 磁盘 > 85%

示例规则:

- alert: NodeMemoryUsage
  expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes < 0.1
  for: 5m

六、CentOS 特别注意点

⚠️ 常见问题

  1. 防火墙
firewall-cmd --add-port=9100/tcp --permanent
firewall-cmd --reload
  1. SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
  1. 时间同步
yum install -y chrony
systemctl enable --now chronyd

七、推荐组合(直接照抄)

✅ 中小集群

Prometheus + Grafana + node-exporter + Loki

✅ 生产集群

kube-prometheus-stack + Alertmanager + Loki + 外部存储

如果你愿意,我可以:

  • 给你 CentOS 一键监控脚本
  • 帮你 画监控架构图
  • 按你 k8s 版本(1.20 / 1.24 / 1.28) 给具体 yaml

你现在用的是 kubeadm 还是二进制部署?k8s 版本多少?

0 踩