选择kube-prometheus版本
k8s集群版本是1.22.1
说明:如果你电脑配置低,也可以1个master节点,2个node节点

Kube-Prometheus地址:https://github.com/prometheus-operator/kube-prometheus/
找到和自己Kubernetes版本对应的版本


选择0.9
克隆:git clone -b release-0.9 https://github.com/prometheus-operator/kube-prometheus.git
安装prometheus-operator
cd kube-prometheus/
cd manifests/


安装Prometheus Operator:kubectl create -f setup/
下面可以看到,ns是monitoring

查看Operator容器状态:kubectl get po -n monitoring
2/2才表示可用

为什么是两个容器呢?
cd setup
vim prometheus-operator-deployment.yaml
可以看到,是1个副本,一个pod里面两个容器

查看信息,镜像拉取失败
kubectl describe po prometheus-operator-75d9b475d9-wslbm -n monitoring


pod在master02上

可以在master02上,单独拉取
docker pull quay.io/prometheus-operator/prometheus-operator:v0.49.0

然后,自动变成running了

创建prometheus技术栈
kubectl create -f .
因为要下载镜像,这一步很耗时
查看Prometheus容器状态

可以看到,每个节点上都有一个node-exporter,那是因为
vim node-exporter-daemonset.yaml

暴露Prometheus端口
查看Prometheus的Service:kubectl get svc prometheus-k8s -n monitoring
将Prometheus的Service的type改成NodePort类型:kubectl edit svc prometheus-k8s -n monitoring
再次查看Prometheus的Service:kubectl get svc prometheus-k8s -n monitoring
对外暴露了一个端口32458

访问:http://192.168.117.142:32458






查询数据

暴露Grafana端口
查看Grafana的Service

将Grafana的Service的type改成NodePort类型:kubectl edit svc grafana -n monitoring
再次查看Grafana的Service,对外暴露了一个端口32718

安装了kube-proxy服务的节点都可以访问(grafana的pod必须是running状态):
http://192.168.117.142:32718/login
http://192.168.117.143:32718/login
http://192.168.117.144:32718/login
http://192.168.117.145:32718/login
http://192.168.117.146:32718/login
Grafana默认登录的账号密码为admin/admin

监控效果图
![]()
监控node

监控指定命名空间下的pod,比如:kube-system

监控指定node下的pod

添加其它模板
