部署Prometheus:K8S 部署Prometheus_lovely_nn的博客-CSDN博客
Prometheus主要监控k8s哪些资源?
监控Kubernetes 集群是非常重要的,我们需要时时刻刻了解集群的运行状态,对于集群的监控一般我们需要考虑以下几个方面:
1) Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标
2) 内部系统组件: kube-scheduler、kube-controller-manager、kubedns/coredns 的运行状态
3) 编排级的 metrics:比如Deployment的状态、资源请求、调度和 API 延迟等数据指标
监控集群节点
Prometheus 可以通过 node_exporter 来采集节点的监控指标数据,node_exporter
是抓取用于采集服务器节点的各种运行指标,目前 node_exporter
支持所有常见的监控点,如 conntrack,cpu,diskstats,filesystem,loadavg,meminfo,netstat 等。
1)部署 node-exporter:
通过 DaemonSet 控制器来部署node_exporter
,这样每一个节点都会自动运行一个这样的 Pod,如果我们从集群中删除或者添加节点后,也会进行自动扩展,部署node_exporter资源清单如下:
$ cat node-exporter.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: node-exporter
namespace: kube-mon
labels:
app: node-exporter
spec:
selector:
matchLabels:
app: node-exporter
template:
metadata:
labels:
app: node-exporter
spec:
hostPID: true
hostIPC: true
hostNetwork: true
nodeSelector:
kubernetes.io/os: linux