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 并实现邮件告警相关推荐

  1. 进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query

    目录 导航 前言 相关yaml文件 thanos receive 配置相关 thanos-objectstorage.yaml thanos-receiver-hashring.yaml 服务相关 t ...

  2. Kubernetes — 在 OpenStack 上使用 kubeadm 部署高可用集群

    目录 文章目录 目录 高可用集群部署拓扑 高可用集群网络拓扑 网络代理配置 Load Balancer 环境准备 Kubernetes Cluster 环境准备 安装 Container Runtim ...

  3. ansible一键部署高可用集群项目实战最细教程

    文章目录 服务架构图 环境配置 IP规划和配置 ssh免密登录 开始搭建 管理节点 准备工作 搭建数据库 搭建NAS存储节点 搭建备份节点 搭建web节点 搭建负载均衡节点 配置keepalived高 ...

  4. Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录

    1,基本概念 前几章部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: " ...

  5. Kubernetes - - k8s - v1.12.3 动态存储管理GlusterFS及使用Heketi扩容GlusterFS集群

    1,准备工作 1.1 所有节点安装GFS客户端 yum install glusterfs glusterfs-fuse -y 1.2 如果不是所有节点要部署GFS管理服务,就在需要部署的节点上打上标 ...

  6. Kubernetes - - k8s - v1.12.3 使用Helm安装harbor

    1,Helm 介绍 核心术语: Chart:一个helm程序包 Repository:Charts仓库,https/http 服务器 Release:特定的Chart部署与目标集群上的一个实例 Cha ...

  7. Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证

    1,基本概念 为了方便管理和集成jenkins,k8s.harbor.jenkins均使用openLDAP统一认证. 2,部署openLDAP 根据之前的文档,openLDAP使用GFS进行数据持久化 ...

  8. s19.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(一)

    基于 Kubernetes v1.25 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成 容器运行时 CRI Kubernetes v1.25 新特性 Kubernete ...

  9. 《Kubernetes部署篇:基于docker使用kubespray工具部署高可用K8S集群(国内互联网方案四)》

    文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...

  10. 《Kubernetes部署篇:基于docker使用kubespray工具离线部署高可用K8S集群(国内专网方案)》

    文章目录 一.部署背景简介 二.部署工具介绍 三.部署方案介绍 四.部署环境信息 五.部署资源下载 六.部署准备工作 6.1.系统内核升级 6.2.设置主机名 6.3.环境初始化 6.4.ssh多机互 ...

最新文章

  1. gulp 与 Webpack 的 异曲同工之处
  2. 微软职位内部推荐-Principal Development Lead
  3. Solaris 9安装VNC
  4. python时间time模块介绍
  5. 珍珠(信息学奥赛一本通-T1384)
  6. (27)css3 2D转换综合案例—卡包效果
  7. 剪映专业版 for Mac(全能好用的视频编辑工具)v1.0.11中文版
  8. 架构实战篇(三)-Spring Boot架构搭建RESTful API案例
  9. 451.根据字符出现频率排序(力扣leetcode) 博主可答疑该问题
  10. 9大最佳工程施工项目管理系统
  11. linux chmod 755
  12. 201912-3 化学方程式 的一种解法
  13. 学点负面情绪的抗争能力
  14. 计算机多媒体最新参考文献,多媒体技术计算机论文,关于基于多媒体技术计算机教学因相关参考文献资料-免费论文范文...
  15. 经常生气的人,身体有什么变化?
  16. 马云再一次颠覆革命!支付宝又逆天:不用钱包不用手机照样支付
  17. 安全集群访问非安全集群问题记录
  18. elasticsearch _cat命令使用详情
  19. redis cluster如何添加和删除节点?
  20. mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H

热门文章

  1. System.Data.SQLite兼容32位和64位问题
  2. JavaScript学习笔记(四)
  3. Node.js系列——(4)优势及场景
  4. Asp.Net MVC 控制器
  5. 多个平台下使用Custom Fonts
  6. P1955 [NOI2015]程序自动分析
  7. Lyndon Word学习笔记
  8. Egret中的三种单例写法
  9. request.getRequestDispatcher(url).forward(request, response)
  10. 小菜面试 String 篇 之 统计一个字符串中数字,字母,的个数