选择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
添加其它模板