温馨提示×

CentOS K8S安装后如何监控

小樊
47
2025-11-16 04:07:53
栏目: 智能运维

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-serverkubectl 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 构建日志分析与告警面板
    • 可结合 FilebeatFluent 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 中配置关键告警规则(如 节点 NotReadyPod CrashLoopBackOffCPU/内存阈值Pod 重启次数 等),通过 邮件/企业微信/钉钉/Slack 通知

0