CentOS 上 Kubernetes 监控落地指南
一 基础检查与可视化
- 使用 kubectl 快速巡检集群健康与资源状态:
- 查看节点与系统资源:kubectl get nodes
- 查看全命名空间 Pod:kubectl get pods --all-namespaces
- 查看工作负载状态:kubectl get deployments,services --all-namespaces
- 排查异常详情:kubectl describe pod -n
- 部署 Kubernetes Dashboard 获得图形化总览与诊断入口:
- 安装:kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
- 获取访问 Token(示例):kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}’)
- 访问:浏览器打开 https://:30000,使用上一步的 Token 登录
- 安装 Metrics Server 为 HPA/VPA 与 kubectl top 提供指标:
- 安装:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
- 验证:kubectl get pods -n kube-system | grep metrics-server 与 kubectl top nodes / kubectl top pods
- 注意:已弃用的 Heapster 不再建议使用
二 指标监控 Prometheus Grafana
- 使用 Helm 快速部署 kube-prometheus-stack(包含 Prometheus Operator、Prometheus、Alertmanager、Grafana 等):
- 添加仓库并安装:
- helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
- helm install prometheus prometheus-community/kube-prometheus-stack
- 访问 Grafana:默认 NodePort 3000,登录后在 Data Sources 选择 Prometheus,导入常用 Kubernetes 仪表盘(如节点、Pod、Kubelet、集群概览等)
- 关键组件与作用:
- cAdvisor:集成于 kubelet,采集容器 CPU/内存/磁盘/网络等基础指标
- kube-state-metrics:暴露 Pods/Deployments/Nodes 等对象的状态指标
- Node Exporter:采集节点级硬件与操作系统指标(通常通过 DaemonSet 部署在各节点)
- 扩展与高可用:
- 多集群/长期存储/全局查询可引入 Thanos 与对象存储,构建统一可观测平台
三 日志采集与可视化
- 采集方案选型:
- DaemonSet:集群统一采集,适合大多数场景
- Sidecar:单个应用定制采集逻辑
- Fluent Bit:轻量高性能,生态完善
- Filebeat:日志量大、实时性要求高
- 集中式日志栈 ELK(Elasticsearch + Logstash + Kibana):
- 部署后在 Kibana 建立 Index Pattern(如 k8s-*),使用 Discover/Visualize 构建日志分析与告警面板
- 可结合 Filebeat 或 Fluent Bit 作为日志采集器,将日志发送至 Elasticsearch 进行检索与可视化
四 快速排障与安全告警
- 快速排障路径:
- 资源与事件:kubectl get events --sort-by=.metadata.creationTimestamp -A
- 进入容器排查:kubectl exec -it -n – sh
- 查看日志:kubectl logs -n [-c ]
- 网络连通性:kubectl run -it --rm debug --image=busybox:1.36 --restart=Never – nslookup kubernetes.default.svc.cluster.local
- 可视化拓扑与诊断:
- Weave Scope:一键生成 应用与基础设施拓扑,按名称/标签/资源消耗筛选,便于瓶颈定位与故障排查
- 运行时安全与异常检测:
- Sysdig Falco:基于系统调用监控容器/主机/网络异常行为,支持自定义规则与告警
- 告警建议:
- 在 Prometheus/Alertmanager 中配置关键告警规则(如 节点 NotReady、Pod CrashLoopBackOff、CPU/内存阈值、Pod 重启次数 等),通过 邮件/企业微信/钉钉/Slack 通知