Kubernetes - - k8s - v1.12.3 一键部署高可用 Prometheus 并实现邮件告警
1,基本概念
- 本次部署使用的是CoreOS的prometheus-operator。
- 项目地址:https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus
- 使用Helm安装:https://github.com/helm/charts/tree/master/stable/prometheus-operator
2,安装
2.1 下载安装文件
2.2 修改相关配置
- 1 修改deploy文件中的etcd证书文件,kubeadm安装方式的无须修改
- 2 修改manifests/prometheus/prometheus-etcd.yaml的tlsConfig(kubeadm安装方式的无须修改)和addresses(etcd地址)
- 3 修改alertmanager.yaml文件的邮件告警配置和收件人配置
2.3 一键安装
[root@k8s-master01 prometheus-operator]# ./deploy
namespace/monitoring created
secret/alertmanager-main created
secret/etcd-certs created
clusterrolebinding.rbac.authorization.k8s.io/prometheus-operator created
clusterrole.rbac.authorization.k8s.io/prometheus-operator created
serviceaccount/prometheus-operator created
service/prometheus-operator created
deployment.apps/prometheus-operator created
Waiting for Operator to register custom resource definitions.............................done!
clusterrolebinding.rbac.authorization.k8s.io/node-exporter created
clusterrole.rbac.authorization.k8s.io/node-exporter created
daemonset.extensions/node-exporter created
serviceaccount/node-exporter created
service/node-exporter created
clusterrolebinding.rbac.authorization.k8s.io/kube-state-metrics created
clusterrole.rbac.authorization.k8s.io/kube-state-metrics created
deployment.extensions/kube-state-metrics created
rolebinding.rbac.authorization.k8s.io/kube-state-metrics created
role.rbac.authorization.k8s.io/kube-state-metrics-resizer created
serviceaccount/kube-state-metrics created
service/kube-state-metrics created
secret/grafana-credentials created
secret/grafana-credentials unchanged
configmap/grafana-dashboard-definitions-0 created
configmap/grafana-dashboards created
configmap/grafana-datasources created
deployment.apps/grafana created
service/grafana created
configmap/prometheus-k8s-rules created
serviceaccount/prometheus-k8s created
servicemonitor.monitoring.coreos.com/alertmanager created
servicemonitor.monitoring.coreos.com/kube-apiserver created
servicemonitor.monitoring.coreos.com/kube-controller-manager created
servicemonitor.monitoring.coreos.com/kube-scheduler created
servicemonitor.monitoring.coreos.com/kube-state-metrics created
servicemonitor.monitoring.coreos.com/kubelet created
servicemonitor.monitoring.coreos.com/node-exporter created
servicemonitor.monitoring.coreos.com/prometheus-operator created
servicemonitor.monitoring.coreos.com/prometheus created
service/prometheus-k8s created
prometheus.monitoring.coreos.com/k8s created
service/etcd-k8s created
endpoints/etcd-k8s created
servicemonitor.monitoring.coreos.com/etcd-k8s created
role.rbac.authorization.k8s.io/prometheus-k8s created
role.rbac.authorization.k8s.io/prometheus-k8s created
role.rbac.authorization.k8s.io/prometheus-k8s created
clusterrole.rbac.authorization.k8s.io/prometheus-k8s created
rolebinding.rbac.authorization.k8s.io/prometheus-k8s created
rolebinding.rbac.authorization.k8s.io/prometheus-k8s created
rolebinding.rbac.authorization.k8s.io/prometheus-k8s created
clusterrolebinding.rbac.authorization.k8s.io/prometheus-k8s created
service/alertmanager-main created
alertmanager.monitoring.coreos.com/main created
2.4,验证安装
- svc
[root@k8s-master01 prometheus-operator]# kubectl get svc -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-main NodePort 10.110.29.99 <none> 9093:30903/TCP 118s
alertmanager-operated ClusterIP None <none> 9093/TCP,6783/TCP 118s
etcd-k8s ClusterIP None <none> 2379/TCP 2m14s
grafana NodePort 10.109.144.190 <none> 3000:30902/TCP 2m28s
kube-state-metrics ClusterIP None <none> 8443/TCP,9443/TCP 2m31s
node-exporter ClusterIP None <none> 9100/TCP 2m35s
prometheus-k8s NodePort 10.107.20.96 <none> 9090:30900/TCP 2m16s
prometheus-operated ClusterIP None <none> 9090/TCP 2m15s
prometheus-operator ClusterIP 10.110.197.2 <none> 8080/TCP 3m18s
- pods
[root@k8s-master01 prometheus-operator]# kubectl get pod -n monitoring
NAME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 0 10m
alertmanager-main-1 2/2 Running 0 7m13s
alertmanager-main-2 2/2 Running 0 5m42s
grafana-644664679-gr6zh 1/1 Running 0 11m
kube-state-metrics-cf688bfc-w5tr7 4/4 Running 0 6m38s
node-exporter-5wz4v 2/2 Running 0 11m
node-exporter-7r2jp 2/2 Running 0 11m
node-exporter-shvzb 2/2 Running 0 11m
prometheus-k8s-0 2/2 Running 0 11m
prometheus-k8s-1 2/2 Running 0 11m
prometheus-operator-69d5c87454-jqwns 1/1 Running 0 12m
- NodePortc
- prometheus:30900
- grafana:30902
- alertmanager:30903
3,访问测试
3.1 prometheus
- http://k8s-master-lb:30900/graph
3.2 grafana
- http://k8s-master-lb:30902
3.3 alertmanager
- http://k8s-master-lb:30903
3.4 告警邮件
- 注:腾讯企业邮箱
- 参考:
- https://www.cnblogs.com/dukuan/p/10177757.html
- https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus
- https://github.com/helm/charts/tree/master/stable/prometheus-operator
转载于:https://www.cnblogs.com/xiaoqshuo/p/10178277.html
Kubernetes - - k8s - v1.12.3 一键部署高可用 Prometheus 并实现邮件告警相关推荐
- 进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query
目录 导航 前言 相关yaml文件 thanos receive 配置相关 thanos-objectstorage.yaml thanos-receiver-hashring.yaml 服务相关 t ...
- Kubernetes — 在 OpenStack 上使用 kubeadm 部署高可用集群
目录 文章目录 目录 高可用集群部署拓扑 高可用集群网络拓扑 网络代理配置 Load Balancer 环境准备 Kubernetes Cluster 环境准备 安装 Container Runtim ...
- ansible一键部署高可用集群项目实战最细教程
文章目录 服务架构图 环境配置 IP规划和配置 ssh免密登录 开始搭建 管理节点 准备工作 搭建数据库 搭建NAS存储节点 搭建备份节点 搭建web节点 搭建负载均衡节点 配置keepalived高 ...
- Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录
1,基本概念 前几章部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: " ...
- Kubernetes - - k8s - v1.12.3 动态存储管理GlusterFS及使用Heketi扩容GlusterFS集群
1,准备工作 1.1 所有节点安装GFS客户端 yum install glusterfs glusterfs-fuse -y 1.2 如果不是所有节点要部署GFS管理服务,就在需要部署的节点上打上标 ...
- Kubernetes - - k8s - v1.12.3 使用Helm安装harbor
1,Helm 介绍 核心术语: Chart:一个helm程序包 Repository:Charts仓库,https/http 服务器 Release:特定的Chart部署与目标集群上的一个实例 Cha ...
- Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证
1,基本概念 为了方便管理和集成jenkins,k8s.harbor.jenkins均使用openLDAP统一认证. 2,部署openLDAP 根据之前的文档,openLDAP使用GFS进行数据持久化 ...
- s19.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(一)
基于 Kubernetes v1.25 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成 容器运行时 CRI Kubernetes v1.25 新特性 Kubernete ...
- 《Kubernetes部署篇:基于docker使用kubespray工具部署高可用K8S集群(国内互联网方案四)》
文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...
- 《Kubernetes部署篇:基于docker使用kubespray工具离线部署高可用K8S集群(国内专网方案)》
文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...
最新文章
- gulp 与 Webpack 的 异曲同工之处
- 微软职位内部推荐-Principal Development Lead
- Solaris 9安装VNC
- python时间time模块介绍
- 珍珠(信息学奥赛一本通-T1384)
- (27)css3 2D转换综合案例—卡包效果
- 剪映专业版 for Mac(全能好用的视频编辑工具)v1.0.11中文版
- 架构实战篇(三)-Spring Boot架构搭建RESTful API案例
- 451.根据字符出现频率排序(力扣leetcode) 博主可答疑该问题
- 9大最佳工程施工项目管理系统
- linux chmod 755
- 201912-3 化学方程式 的一种解法
- 学点负面情绪的抗争能力
- 计算机多媒体最新参考文献,多媒体技术计算机论文,关于基于多媒体技术计算机教学因相关参考文献资料-免费论文范文...
- 经常生气的人,身体有什么变化?
- 马云再一次颠覆革命!支付宝又逆天:不用钱包不用手机照样支付
- 安全集群访问非安全集群问题记录
- elasticsearch _cat命令使用详情
- redis cluster如何添加和删除节点?
- mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H
热门文章
- System.Data.SQLite兼容32位和64位问题
- JavaScript学习笔记(四)
- Node.js系列——(4)优势及场景
- Asp.Net MVC 控制器
- 多个平台下使用Custom Fonts
- P1955 [NOI2015]程序自动分析
- Lyndon Word学习笔记
- Egret中的三种单例写法
- request.getRequestDispatcher(url).forward(request, response)
- 小菜面试 String 篇 之 统计一个字符串中数字,字母,的个数