First, install a cluster deployment k8s
Can refer https://www.cnblogs.com/liugp/p/12115945.html
Two, Prometheus + Grafana monitoring deployment
2.1, master / node node deployment environment
In the [ master ] can be installed deploy
install git, and download files yaml
https://gitee.com/liugpwwwroot/k8s-prometheus-grafana.git
In [ node ] node monitoring download the required image (non-essential)
docker pull prom/node-exporter docker pull prom/prometheus:v2.0.0 docker pull grafana/grafana:4.2.0
2.2, using daemonset assembly deployed node-exporter
kubectl create -f node-exporter.yaml
2.3, component deployment prometheus
2.3.1, rbac file
kubectl create -f k8s-prometheus-grafana/prometheus/rbac-setup.yaml
2.3.2 management profile prometheus component in the form of configmap
kubectl create -f k8s-prometheus-grafana/prometheus/configmap.yaml
2.3.3 Prometheus deployment file
kubectl Create -f k8s-Prometheus-grafana / Prometheus / prometheus.deploy.yml
2.3.4 Prometheus service files
kubectl Create -f k8s-Prometheus-grafana / Prometheus / prometheus.svc.yml
2.4, component deployment grafana
2.4.1 grafana deployment configuration file
kubectl Create -f k8s-Prometheus-grafana / grafana / grafana-deploy.yaml
2.4.2 grafana service profile
kubectl Create -f k8s-Prometheus-grafana / grafana / grafana-svc.yaml
2.4.3 grafana ingress configuration file
kubectl Create -f k8s-Prometheus-grafana / grafana / grafana-ing.yaml
2.5, see the appropriate service access
2.5.1 Access node-exporter (corresponding to FIG port: 31672 )
2.5.2 Access Prometheus (figure corresponding port: 30003 )
2.5.3、访问granfana,默认用户名,密码均为admin(上图对应的端口:30106)
1、添加数据源,这里使用代理模式(推荐),仅限k8s内部访问,配置文件在:prometheus/prometheus.svc.yml
当然也可以使用直接访问模式
2、导入面板:Home->Dashboards->Import
导入面板,可以直接输入模板编号315在线导入,或者下载好对应的json模板文件本地导入,面板模板下载地址https:///dashboards/315
稍等片刻,即可展示如下图,记得选择prometheus数据源为:prometheus
点击Import,即可查看展示效果
三、测试
3.1、部署测试实例
- 部署实例
-
[root@k8s-master k8s-prometheus-grafana]# kubectl run apache --image=httpd --replicas=2
- 查看
-
[root@k8s-master k8s-prometheus-grafana]# kubectl get deployments.apps -o wide
- 创建svc
-
[root@k8s-master k8s-prometheus-grafana]# kubectl expose deployment apache --port=88 --target-port=80 --type=NodePort
~~~以上就全部部署,有不清楚的,或有不足的地方,欢迎评论^_^ ~~~