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