k8s部署prometheus和grafana

411 阅读1分钟

部署

git clone https://github.com/prometheus-operator/kube-prometheus.git
# 进入目录
[root@master ~]# cd kube-prometheus/
# 查找registry.k8s.io的镜像
[root@master kube-prometheus]# grep -r "registry.k8s.io" manifests/
manifests/kubeStateMetrics-deployment.yaml:        image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.8.2
manifests/prometheusAdapter-deployment.yaml:        image: registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.10.0
# 将registry.k8s.io修改为从阿里云下载
sed -i 's#registry.k8s.io/kube-state-metrics#registry.cn-beijing.aliyuncs.com/postkarte#g' manifests/kubeStateMetrics-deployment.yaml
sed -i 's#registry.k8s.io/prometheus-adapter#registry.cn-beijing.aliyuncs.com/postkarte#g' manifests/prometheusAdapter-deployment.yaml
# 应用yaml文件
kubectl create -f manifests/setup
kubectl create -f manifests/
# 查看运行的pod

修改prometheus的service类型为nodePort

 [root@node1 kube-prometheus]# kubectl get pod -n monitoring -owide
NAME                                   READY   STATUS    RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
alertmanager-main-0                    2/2     Running   0          35s   10.244.2.41     node3   <none>           <none>
alertmanager-main-1                    2/2     Running   0          35s   10.244.0.71     node    <none>           <none>
alertmanager-main-2                    2/2     Running   0          35s   10.244.1.47     node2   <none>           <none>
blackbox-exporter-7645c7c966-gl47j     3/3     Running   0          66s   10.244.2.40     node3   <none>           <none>
grafana-57c8bcbfcc-n228d               1/1     Running   0          63s   10.244.1.45     node2   <none>           <none>
kube-state-metrics-7cd7854799-rf7zf    3/3     Running   0          60s   10.244.0.68     node    <none>           <none>
node-exporter-5vqtv                    2/2     Running   0          59s   172.16.21.135   node    <none>           <none>
node-exporter-86tjm                    2/2     Running   0          59s   172.16.21.137   node3   <none>           <none>
node-exporter-wjbsq                    2/2     Running   0          59s   172.16.21.136   node2   <none>           <none>
prometheus-adapter-5db88df7bd-chdkw    1/1     Running   0          58s   10.244.1.46     node2   <none>           <none>
prometheus-adapter-5db88df7bd-k4wkk    1/1     Running   0          58s   10.244.0.69     node    <none>           <none>
prometheus-k8s-0                       2/2     Running   0          35s   10.244.2.42     node3   <none>           <none>
prometheus-k8s-1                       1/2     Running   0          35s   10.244.0.72     node    <none>           <none>
prometheus-operator-86b7d9957b-5qcbj   2/2     Running   0          58s   10.244.0.70     node    <none>           <none>

修改下prometheus UI的service模式为nodePort(注意如果在公网环境不要这样操作,因为会直接登录可以操作)

kubectl -n monitoring patch svc prometheus-k8s -p '{"spec":{"type":"NodePort"}}' 

查看端口


[root@node1 kube-prometheus]# kubectl get service -n monitoring  
prometheus-k8s          NodePort    10.108.168.160           9090:30951/TCP,8080:31215/TCP   3m25s 

访问prometheus UI

http://172.16.21.135:30951/

image.png

修改grafana的service类型为nodePort

kubectl -n monitoring patch svc grafana -p '{"spec":{"type":"NodePort"}}'

查看grafana的端口

[root@node1 kube-prometheus]# kubectl get service -n monitoring 
grafana                 NodePort    10.108.14.132            3000:31635/TCP                  9m14s 

访问http://172.16.21.135:31635,默认用户和密码都是admin

image.png

参考文档