一、概念
K8s本身的监控,也可以理解为使用K8s的成本。或者需要将k8s部署到集群中,需要monitor其中的每个设备以及整个集群统筹的资源情况,来分配任务或者更好地管理集群。
二、监控对象
Node监控主要包括四个部分监控:Node资源利用率、Node数量、每个Node运行Pod数量以及资源对象状态。
Pod监控主要包括三个部分: Pod总数量及每个控制器预期数量、 Pod状态和容器资源利用率(CPU、内存、网络)。
三、实现思路
K8s性能监控实现思路:
Pod kubelet的节点使用cAdvisor提供的metrics接口获取该节点所有Pod和容器相关的性能指标数据。 指标接口:https://NodeIP:10250/metrics/cadvisor
Node 使用node_exporter收集器采集节点资源利用率。 项目地址:https://github.com/prometheus/node_exporter
K8s资源对象 kube-state-metrics采集了k8s中各种资源对象的状态信息。 项目地址:https://github.com/kubernetes/kube-state-metrics
Prometheus,用来采集和管理k8s的性能数据,Grafana用来进行数据的可视化呈现,两者一起监控K8s性能。