总结:K8S指标与Prometheus实现
K8S指标与prometheus实现梳理
·
一、介绍
我们使用k8s后一般需要监控一下四
大块指标:
指标类型 | 采集源 | 应用举例 | 发现类型 |
---|---|---|---|
容器基础资源指标 | kubelet 内置cadvisor metrics接口 | 查看容器cpu、mem利用率等 | k8s_sd node级别直接访问node_ip |
k8s资源指标 | kube-stats-metrics (简称ksm) | 具体可以看从容器监控kube-stats-metrics看k8s众多组件 看pod状态如pod waiting状态的原因 数个数如:查看node pod按namespace分布情况 | 通过coredns访问域名 |
k8s服务组件指标 | 服务组件 metrics接口 | 查看apiserver 、scheduler、etc、coredns请求延迟等 | k8s_sd endpoint级别 |
部署在pod中业务埋点指标 | pod 的metrics接口 | 依据业务指标场景 | k8s_sd pod级别,访问pod ip的metricspath |
二、prometheus中的实现方式
鉴权/证书问题
我们在prometheus采集job中经常能看到下面的 token 证书配置,主要原因为
- token用来做鉴权来访问metrics接口
-
apiserver可以采用tls双向认证,所以需要提供证书
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
prometheus通过 sa,clusterrolebinding来解决token、证书挂载问题
sa等配置: prometheus yaml中需要配置对应的saserviceAccountName
apiVersion: rbac.authorization.k8s.io/v1 # api的version
kind: ClusterRole # 类型
metadata:
name: prometheus
更多推荐
已为社区贡献10条内容
所有评论(0)