apiserver
https://feisky.gitbooks.io/kubernetes/components/apiserver.html
kube-apiserver 支持同时提供 https(默认监听在 6443 端口)和 http API(默认监听在 127.0.0.1 的 8080 端口),其中 http API 是非安全接口,不做任何认证授权机制,不建议生产环境启用。两个接口提供的 REST API 格式相同,参考 Kubernetes API Reference查看所有 API 的调用格式。
cadvisor
https://segmentfault.com/a/1190000017800371
如果采用在docker container中下载并启动二进制的cadvisor:
cadvisor:端口4194
如果使用kubernetes组件中自带的cadvisor:
https://www.cnblogs.com/aguncn/p/9929684.html
https://huanqiang.wang/2018/04/03/k8s-%E7%9B%91%E6%8E%A7%E9%83%A8%E7%BD%B2/
目前cAdvisor集成到了kubelet组件内,可以在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接口获取该节点所有容器相关的性能指标数据。1.7.3版本以前,cadvisor的metrics数据集成在kubelet的metrics中,在1.7.3以后版本中cadvisor的metrics被从kubelet的metrics独立出来了,在prometheus采集的时候变成两个scrape的job。
按新版本的标准配置,kubelet中的cadvisor是没有对外开放4194端口的。所以,我们只能通过apiserver提供的api做代理获取监控指标。
重要知识点来了。
从apiserver访问cadvisor的地址:
cAdvisor的metrics地址: /api/v1/nodes/[节点名称]/proxy/metrics/cadvisor
kubelet的metrics地址:/api/v1/nodes/[节点名称]/proxy/metrics
直接从各个node的kubelet访问cadvisor的地址:
cAdvisor的metrics地址: node_ip:10250/metrics/cadvisor
kubelet的metrics地址:node_ip:10250/metrics