Promethues 之容器监控
说到容器监控我们自然会想到 cAdvisor
,我们前面也说过cAdvisor已经内置在了 kubelet 组件之中,所以我们不需要单独去安装,cAdvisor
的数据路径为 /api/v1/nodes/<node>/proxy/metrics
,同样我们这里使用 node 的服务发现模式,因为每一个节点下面都有 kubelet,自然都有 cAdvisor
采集到的数据指标,配置如下:
# 任意一个Pod里,都会有ca.crt、token。在k8s源码可以看到这个配置的代码
[root@master1 ~]# kubectl exec -it nginx-rs-8p6dl -n default -- bash
root@nginx-rs-8p6dl:/# cd /var/run/secrets/kubernetes.io/serviceaccount/
root@nginx-rs-8p6dl:/var/run/secrets/kubernetes.io/serviceaccount# ls
ca.crt namespace token
- job_name: 'kubernetes-cadvisor'
kubernetes_sd_configs:
- role: node
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
curl -X POST "http://10.244.1.139:9090/-/reload"