对于 Kubernetes 集群本身的监控也是非常重要的,我们需要时时刻刻了解集群的运行状态。
对于集群的监控一般我们需要考虑以下几个方面:
1.Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标
2.内部系统组件的状态:比如 kube-scheduler、kube-controller-manager、kubedns/coredns 等组件的详细运行状态
3.编排级的 metrics:比如 Deployment 的状态、资源请求、调度和 API 延迟等数据指标
.
Kubernetes 集群的监控方案目前主要有以下几种方案:
1.Heapster:Heapster 是一个集群范围的监控和数据聚合工具,以 Pod 的形式运行在集群中。
需要注意的是 Heapster 已经被废弃了,后续版本中会使用 metrics-server 代替。
2.cAdvisor:cAdvisor是Google开源的容器资源监控和性能分析工具,它是专门为容器而生,本身也支持 Docker 容器,在 Kubernetes 中,我们不需要单独去安装,cAdvisor 作为 kubelet 内置的一部分程序可以直接使用。
3.Kube-state-metrics:kube-state-metrics通过监听 API Se