乐闻世界logo
搜索文章和话题

如何在 Kubernetes 环境中部署和使用 Prometheus?

2月21日 15:40

Prometheus 在 Kubernetes 环境中的部署和使用:

部署方式

  1. Helm Chart 部署(推荐):
bash
helm install prometheus prometheus-community/kube-prometheus-stack
  1. Operator 部署
  • 使用 Prometheus Operator 简化管理
  • 提供 CRD:Prometheus、Alertmanager、ServiceMonitor 等

关键组件

  • Prometheus:主监控服务
  • Node Exporter:节点指标采集
  • Kubelet Metrics:容器和 Pod 指标
  • cAdvisor:容器资源使用
  • Kube-State-Metrics:Kubernetes 对象状态

ServiceMonitor 配置

yaml
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: my-app spec: selector: matchLabels: app: my-app endpoints: - port: metrics interval: 30s

常用指标

  • 容器资源:container_cpu_usage_seconds_total
  • Pod 状态:kube_pod_status_phase
  • 节点资源:node_memory_MemAvailable_bytes
  • 网络流量:container_network_receive_bytes_total

自动发现配置

yaml
scrape_configs: - job_name: 'kubernetes-pods' kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] action: keep regex: true

最佳实践

  • 使用命名空间隔离监控数据
  • 配置资源限制避免影响业务
  • 使用 PersistentVolume 持久化数据
  • 定期备份配置和数据
  • 结合 Grafana 创建仪表盘
标签:Prometheus