部署kube-state-metrics

在 Kubernetes 集群上 Pod、DaemonSet、Deployment、Job、CronJob 等各种资源对象的状态也需要监控,kube-state-metrics 是一个组件,它提供有关集群对象(节点、pod、DaemonSet、命名空间等)状态数据,也反映使用这些资源部署的应用的状态。比如:

  • 我调度了多少个副本?现在可用的有几个?
  • 多少个 Pod 是 running/stopped/terminated 状态?
  • Pod 重启了多少次?
  • 我有多少 job 在运行中等等

对于 Prometheus 来说,需要引入新的 exporter 来暴露这些指标,这就是kube-state-metrics

1.部署kube-state-metrics:使用以下yml清单(deployment.yaml 下面的镜像替换成 cnych/kube-state-metrics:v2.0.0-rc.0)

kube-state-metrics/examples/standard at master · kubernetes/kube-state-metrics · GitHub

创建资源:

$ kubectl apply -f .

2.配置prometheus:

使用endpoints服务发现方式,只保留kube-system命名空间下名为kube-state-metrics的service对象

    - job_name: "kube-state-metrics"
      kubernetes_sd_configs:
       - role: endpoints
      relabel_configs:
       - action: keep
         source_labels:
           [
             __meta_kubernetes_namespace,
             __meta_kubernetes_service_name,
           ]
         regex: kube-system;kube-state-metrics

更新prometheus配置,然后查看 Prometheus 的Targets 路径,已成功抓取指标:

部署kube-state-metrics_第1张图片

3.导入仪表盘 grafana 导入 kube-state-metrics 的 dashboard 编号为 13332  13105

部署kube-state-metrics_第2张图片

你可能感兴趣的:(Prometheus,kubernetes,容器)