温馨提示×

centos k8s部署如何监控

小樊
46
2026-08-04 20:55:42
栏目: 智能运维

在 CentOS 上部署 Kubernetes(k8s)后,监控通常从“集群层面 + 节点层面 + 应用层面”三块入手。下面给你一套生产常用、可落地的方案,从简单到完整。


一、基础监控(必做)

1️⃣ 节点级监控(CentOS 本身)

在 Kubernetes 之前,先保证 CentOS 节点是被监控的。

常用方式:Node Exporter + Prometheus

# 在每台 CentOS 节点上
docker run -d \
  --net="host" \
  --pid="host" \
  -v "/:/host:ro,rslave" \
  quay.io/prometheus/node-exporter:latest \
  --path.rootfs=/host

采集指标:

  • CPU / 内存 / 磁盘
  • 网络 IO
  • 文件系统使用情况

✅ 适合监控 CentOS 系统本身


二、Kubernetes 集群监控(核心)

2️⃣ Prometheus + Grafana(行业标准)

推荐部署方式

✅ kube-prometheus-stack(Helm 部署,最省事)

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

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

包含内容:

  • Prometheus
  • Alertmanager
  • Grafana(自带 k8s 仪表盘)
  • Node Exporter
  • kube-state-metrics

3️⃣ 查看监控组件

kubectl get pods -n monitoring
kubectl get svc -n monitoring

访问 Grafana:

kubectl port-forward svc/kube-prometheus-grafana 3000:80 -n monitoring

浏览器访问:

http://localhost:3000

默认账号:

  • 用户名:admin
  • 密码:prom-operator

三、Kubernetes 关键监控指标

✅ 必须关注的指标

集群层面

  • Pod 运行状态(Running / Pending / CrashLoopBackOff)
  • Node 状态(Ready / NotReady)
  • 节点资源使用率
  • API Server 延迟

应用层面

  • 容器 CPU / Memory
  • 请求 QPS
  • 错误率
  • 响应时间

示例 PromQL

# CPU 使用率
sum(rate(container_cpu_usage_seconds_total[5m])) by (pod)

# 内存使用
sum(container_memory_usage_bytes) by (pod)

# Pod 重启次数
increase(kube_pod_container_status_restarts_total[10m])

四、日志监控(强烈建议)

4️⃣ EFK / Loki 方案

推荐(轻量):

Promtail + Loki + Grafana

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

功能:

  • Pod 日志采集
  • 按 namespace / pod / 容器查询
  • 与 Prometheus 共用 Grafana

五、告警(生产必备)

5️⃣ Alertmanager 告警规则

常见告警:

  • 节点 NotReady
  • Pod 频繁重启
  • CPU / 内存超过阈值
  • 磁盘即将写满

示例:

- alert: NodeNotReady
  expr: kube_node_status_condition{condition="Ready",status="true"} == 0
  for: 5m

支持:

  • 邮件
  • 企业微信
  • 钉钉
  • 飞书
  • Slack

六、如果你只是想“快速看一眼”

6️⃣ Kubernetes Dashboard(不推荐生产)

kubectl apply -f \
https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

适合:

  • 小规模集群
  • 临时查看

❌ 不替代 Prometheus


七、CentOS 特别注意事项

✅ 防火墙

systemctl stop firewalld
systemctl disable firewalld

✅ 时间同步

yum install -y chrony
systemctl enable chronyd

✅ 内核参数

cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p

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

✅ 生产推荐

kube-prometheus-stack + Loki + Grafana

✅ 监控覆盖

  • CentOS 节点 ✅
  • Kubernetes 集群 ✅
  • 容器应用 ✅
  • 日志 ✅
  • 告警 ✅

如果你愿意,可以告诉我:

  • k8s 版本
  • 部署方式(kubeadm / k3s / rancher)
  • 是否生产环境

我可以直接给你 一套完整部署 YAML + 告警规则。

0 踩