提供helm/yaml容器化prometheus-operator的方式;
prometheus-operator是专门为k8s集群量身定做的,用于监控k8s集群,同时自带grafana,alertmanager报警等组件;
目录
(1).容器化组件
(2).helm容器化方式
(3).yaml容器化方式
(4).ingress-nginx代理prometheus-operator
正文
(1).容器化组件
容器化成功后的组件:
所有相关组件:
(2).helm容器化方式
由于alertmanager和server组件必须是有状态容器(要持久化数据),所以需要创建PV,配套pv配置位于:
https://github.com/hepyu/k8s-app-config/tree/master/helm/min-cluster-allinone/prometheus-min
helm install --name prometheus-min stable/prometheus --namespace=prometheus-min --set="alertmanager.persistentVolume.size=1Gi,server.persistentVolume.size=1Gi,alertmanager.persistentVolume.storageClass=prometheus-min-alertmanager-storageclass-local,server.persistentVolume.storageClass=prometheus-min-server-storageclass-local"
参数说明:
--name:容器中helm组件名称;
--namespace:部署到容器中指定的namespace;
--set:指定详细参数;
alertmanager.persistentVolume.size:指定alertmanager容器使用的存储卷大小;
server.persistentVolume.size:指定server容器使用的存储卷大小;
(3).yaml容器化方式
Git clone下载kube-prometheus到本地:
https://github.com/coreos/kube-prometheus.git
yaml配置文件位于目录(配置文件很多,一共有65个):
kube-prometheus/tree/master/manifests
执行命令部署prometheus-operator到k8s集群:
kubectl apply -f kube-prometheus/tree/master/manifests
(4).ingress-nginx代理prometheus-operator
笔者提供了prometheus-operator的prometheus和grafana的ingress代理配置文件,位于:
https://github.com/hepyu/k8s-app-config/tree/master/yaml/min-cluster-allinone/ingress-nginx-min/proxy
执行部署命令:
kubectl apply -f ingress-nginx-grafana-k8s.yaml
kubectl apply -f ingress-nginx-prometheus-k8s.yaml
查看域名:
本地配置host即可访问:
(5).参考资料
1.prometheus-operator官方git
https://github.com/coreos/kube-prometheus