前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rancher 2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群

Rancher 2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群

作者头像
哎_小羊
发布2019-05-25 19:49:02
3.3K1
发布2019-05-25 19:49:02
举报
文章被收录于专栏:哎_小羊哎_小羊

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1433264

文章目录

代码语言:txt
复制
- [1、Prometheus & Grafana 介绍](https://cloud.tencent.com/developer/audit/support-plan/4867117#1Prometheus__Grafana__3)
- [2、环境、软件准备](https://cloud.tencent.com/developer/audit/support-plan/4867117#2_6)
- [3、Rancher 2.x 应用商店](https://cloud.tencent.com/developer/audit/support-plan/4867117#3Rancher_2x__9)
- [4、一键式部署 Prometheus](https://cloud.tencent.com/developer/audit/support-plan/4867117#4_Prometheus_23)
- [5、验证 Prometheus + Grafana](https://cloud.tencent.com/developer/audit/support-plan/4867117#5_Prometheus__Grafana_42)
    - [5.1、NodePort 方式](https://cloud.tencent.com/developer/audit/support-plan/4867117#51NodePort__43)
    - [5.2、Ingress Host 方式](https://cloud.tencent.com/developer/audit/support-plan/4867117#52Ingress_Host__56)

1、Prometheus & Grafana 介绍

Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,Prometheus 基本原理是通过 Http 协议周期性抓取被监控组件的状态,而通过 Exporter Http 接口输出这些被监控的组件信息,而且已经有很多 Exporter 可供选择。Grafana 是一个可视化仪表盘,它拥有美观的图标和布局展示,功能齐全的仪表盘和图形编辑器,默认支持 CloudWatch、Graphite、Elasticsearch、InfluxDB、Mysql、PostgreSQL、Prometheus、OpenTSDB 等作为数据源。我们可以将 Prometheus 抓取的数据,通过 Grafana 优美的展示出来,非常直观。

2、环境、软件准备

上一篇文章 Rancher 2.x 负载均衡配置及使用 中,我们是在虚拟机上安装 RancherOS 系统,然后在本机上启动 Rancher,然后通过 RKE 在 RancherOS 上搭建 Kubernetes 集群,这里需要的环境、软件准备跟之前一样,那么我们就直接在该环境下通过 Rancher 一键式安装 Prometheus + Grafana 监控 Kubernetes 集群。其他方式搭建 Prometheus + Grafana 可以参照之前文章,本地安装可以参照 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql,在 Kubernetes 集群中搭建可以参照 部署 Prometheus Operator 监控 Kubernetes 集群

3、Rancher 2.x 应用商店

Rancher 2.x 提供了应用商店功能,通过应用商店,我们可以非常方便的安装各服务到 Kubernetes 集群中,而且真的是一键式,非常方便了有木有。Rancher 应用商店默认支持官方认证Helm StableHelm Incubator 三种类型的仓库,当然也支持自定义类型的商店。

  • 官方认证:由 Rancher 维护的官方模板仓库
  • Helm Stable:由 Kubernetes 社区维护的模板仓库
  • Helm Incubator:未经测试验证的应用模板仓库
  • 自定义商店

注意:默认 Rancher 只开启了官方认证方式,即由 Rancher 维护的官方模板仓库,如果想也支持 Helm Stable 仓库,那么需要将开关设置为 启动 即可,那么 Rancher 会自动同步 Helm 模板仓库到本地。

稍等片刻,同步完成后,就可以切换到任意集群任意 project 下应用商店页面,点击 启动 就可以查看到所有支持的模板应用啦!例如下图显示了所有官方认证支持的模板应用。

可以看到其中有很多熟悉且常用的模板服务,例如一些常用基础服务:docker-registryefkfluentd-aggregatorgrafanaistiokubernetes-dashboardprometheus,还有一些常用数据存储服务:hadoopmariadbmysqlnfs-provisionerredis 等等。注意:这只是 Rancher 维护的官方模板仓库,Kubernetes 维护的模板仓库有更多服务,这里就不在截图列举了,太多了。

4、一键式部署 Prometheus

回到正题,接下来我们就可以通过 Rancher 官方提供的模板来一键式部署 Prometheus。登录 Rancher UI,切换到 my-rancheros 集群下 Default 项目下的应用商店页面,找到 Prometheus 点击 “查看详情” 进入到 Prometheus 配置页面。可以看到 Rancher 默认会将一些可配置信息已经提取出来了,例如 ImageService TypeIngressVolume 等参数,我们可以根据实际应用需要来配置它们。

说明一下:

  • Container ImageUse Default Image 项我选择否,因为默认中有两个镜像,由于墙的问题我本地网络无法获取的到,所以这里需要修改 quay.io/coreos/kube-state-metricshuwanyang168/kube-state-metrics,修改 quay.io/coreos/grafana-watcherhuwanyang168/grafana-watcher,以上两个镜像对应的版本我已经上传到个人 Dockerhub 仓库。
  • Prometheus ServerHostname 我配置 Ingress 负载均衡域名为 my-prometheus.k8s.com,它会自动创建对应 Ingress,方便外部访问。
  • Grafana settingGrafana Admin password 项需要设置一下初始密码,方便登录 UI 页面。Hostname 我配置 Ingress 负载均衡域名为 my-grafana.k8s.com
  • AlertmanagerNodePort Http Port 项我设置为 30005,这样可以直接外部通过 NodePort 方式访问。

一切配置完毕,我们还可以点击预览,选择对应的模板,看下修改配置后的模板文件是怎样的,最后点击 “启动” 就会开始自动部署啦!稍等片刻,拉取镜像会费点时间,如果一切部署正常,在工作负荷、负载均衡、服务发现页面下 prometheus 命令空间下可以看到如下:

此时,切换到应用商店页面,就可以列举出来我们已经部署的模板服务。

点击应用名称 prometheus 进入到该模板服务详情页面,这里可以看到该服务所有启动的资源以及一些注释说明信息。

5、验证 Prometheus + Grafana

5.1、NodePort 方式

最后,我们来验证一下通过模板仓库部署的 Prometheus 服务是否能够正常运行并访问。首先本地通过 NodePort 方式访问一下 Grafana 页面,Grafana 服务自动分配的端口号为 30424,本地访问 http://192.168.99.102:30424 地址,使用上边配置的 Grafana Admin password 登录一下即可。

默认安装的 Grafana 已经配置好了 8 个 Dashboard,涉及到 Deployment、Nodes、Pods、Kubernetes Cluster Status 等监控仪表盘。

我们选择 Kubernetes Capacity Planning Dashboard 监控一段时间,得到的监控图像如下,妥妥没问题。

接下来,本地访问一下 http://192.168.99.102:30773 地址,Prometheus 服务自动分配的端口号为 30773,也是妥妥没有问题的。

最后,本地访问一下 http://192.168.99.102:30005 地址,上边 Alertmanager 配置的 NodePort 端口号为 30005,也是妥妥没有问题的。

5.2、Ingress Host 方式

上边启动时,我们配置了使用 Ingress 来做 L7 负载均衡,并且配置了 Grafana 服务 Hostname 为 my-grafana.k8s.com,Prometheus 服务 Hostname 为 my-prometheus.k8s.com,那么本地绑定一下 Host 验证一下吧!

代码语言:javascript
复制
$ echo "192.168.99.102 my-grafana.k8s.com my-prometheus.k8s.com" >> /etc/hosts

分别访问一下,妥妥没有问题的。

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年04月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1、Prometheus & Grafana 介绍
  • 2、环境、软件准备
  • 3、Rancher 2.x 应用商店
  • 4、一键式部署 Prometheus
  • 5、验证 Prometheus + Grafana
    • 5.1、NodePort 方式
      • 5.2、Ingress Host 方式
      相关产品与服务
      负载均衡
      负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档