温馨提示×

centos k8s部署如何监控集群

小樊
44
2025-11-20 04:56:10
栏目: 智能运维

监控方案总览CentOS 上监控 Kubernetes 通常采用“指标采集 + 可视化告警 + 日志与节点观测”的组合:用 Metrics Server 提供基础资源指标,配合 Prometheus + Grafana 做时序监控与可视化,使用 kube-state-metricscAdvisor 补充对象与容器指标,必要时加入 Kubernetes Dashboard、Cockpit、ELK 等增强运维与日志能力。

快速落地步骤

  • 基础资源指标

    • 部署 Metrics Server(为 HPA/VPA、kubectl top 提供数据):
      • 安装:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
      • 验证:kubectl top nodes 与 kubectl top pods
    • 说明:Heapster 已弃用,以 Metrics Server 为准。
  • 容器与节点指标

    • cAdvisor:已内置于 kubelet,自动采集节点上容器的 CPU、内存、磁盘、网络 使用。
    • Node Exporter:采集节点级 硬件/OS 指标,建议以 DaemonSet 方式部署在各节点,供 Prometheus 抓取。
  • 对象与状态指标

    • 部署 kube-state-metrics(反映 Deployment、StatefulSet、DaemonSet、Pod 等对象的状态与数量变化):
      • 安装:kubectl apply -f https://github.com/kubernetes-sigs/kube-state-metrics/releases/latest/download/components.yaml。
  • 可视化与告警

    • 使用 Prometheus + Grafana 搭建监控栈(推荐 Helm 方式):
      • Helm 仓库:helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
      • 安装监控套件:helm install prometheus prometheus-community/kube-prometheus-stack
      • 访问 Grafana(Service 类型为 NodePortIngress),添加 Prometheus 数据源并导入官方 Kubernetes / Node / Pod 仪表盘。

可视化与运维界面

  • Kubernetes Dashboard:基于 Web 的集群管理/监控 UI。
    • 部署: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 登录)。
  • Cockpit:CentOS 的 Web 管理工具,可查看 服务器资源、网络、用户、防火墙 等。
    • 安装与启用:yum install cockpit;systemctl start cockpit;systemctl enable cockpit
    • 防火墙:firewall-cmd --permanent --zone=public --add-service=cockpit;firewall-cmd --reload
    • 访问:http://:9090。

日志与链路观测

  • 日志:使用 ELK(Elasticsearch、Logstash、Kibana)EFK(Elasticsearch、Fluent Bit、Kibana) 收集与分析容器日志,便于故障排查与审计。
  • 网络与性能:如需 网络连接状态 观测,可引入 Kindling 并与 Grafana 结合展示。

告警与最佳实践

  • Prometheus 中配置 告警规则(如节点 CPU/内存 阈值、Pod 重启次数Deployment 副本不可用 等),并通过 Alertmanager 对接 邮件/企业微信/钉钉/Slack 等渠道进行通知。
  • Prometheus 配置持久化存储(如 PVC),避免重启导致数据丢失;为 Grafana 做好 数据源与仪表盘 的备份与版本管理。
  • 生产建议:为 Node Exporter、kube-state-metrics、Prometheus、Grafana 设置 资源请求/限制反亲和/污点容忍,保障监控组件稳定性。

0