介绍:

大家好,k8s的搭建有许多方式,也有许多快速部署的,为了简化部署的复杂度,官方也提供了开源的kubeadm快速部署,最新1.10.x版本已经可以实现部署集群,

如果你对k8s的原理已经非常了解,不妨可以试试,今天将为大家说说如何去快速搭建一个监控系统到展示页面,报警规则会在下一章讲解,那么Prometheus-operated是什么,用过的朋友应该知道

Prometheus是用来收集数据的,同时本身也提供强大的查询能力,结合Grafana,就可以监控到你想要的数据。

获取数据的原理大家可以去百度一下,具体就是你的采集工具可以任意用编程语言来写,最后只要提供一个http或者https的访问地址,比如我想监控nginx,地址是192.168.1.1 端口8080,

那么我要采集nginx的数据就是 http://192.168.1.1/metrics,前提是metrics模块已经加载,nginx已内置了这个模块,具体请百度,如果没有怎么办,自己写或者去官方找模板。

那么在k8s上,prometheus该如何去监控我们的数据呢,用过k8s的人应该知道service,没错,k8s会读取service的后端地址,拿到容器的IP地址然后去主动请求采集数据,而k8s自身的数据呢,同样的道理,k8s已经集成了metrics功能,所以,我们只需要请求组件所对应的IP:PORT/metrics 就能拿到数据,这样k8s集群包括自身的监控数据全都拿到了,怎么方便的操作如果只单靠Prometheus是不可能完成的,这时候Prometheus-operated就面世了,其主要就是提供自动发现功能,如果你使用过K8S日志采集ELK(阿里云的日志采集开源项目),其原理是一样的,动态获取k8s的信息,出现了新增或者减少的服务,他会讲相关的配置写入Prometheus当中,然后动态加载,否则你就要一个一个的去配置。

项目地址:https://github.com/coreos/prometheus-operator

官网地址:  https://prometheus.io

话不多说,30秒让你的监控跑起来。

kubeadm部署

这里我节约时间,就不一一介绍了,因为config.yml需要指定参数,这里我会在部署prometheus-operator说明

prometheus-operator部署

首先就是kubeadm的配置文件 ,如果你是直接从kubeadm开始弄,可以提前写进去,这样一会你就不需要在修改了

和你自己的比较一下缺少了哪些添加上去即可,如果已经安装了也没关系,我们手动去改,后面也讲

#所有master机器apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:advertiseAddress: 192.168.1.173bindPort: 6443
authorizationModes:
- Node
- RBAC
certificatesDir: /etc/kubernetes/pki
cloudProvider:
etcd:dataDir: /var/lib/etcdendpoints: null
imageRepository: gcr.io/google_containers
kubernetesVersion: v1.8.3
networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12
nodeName: your-dev
tokenTTL: 24h0m0s
controllerManagerExtraArgs:address: 0.0.0.0
schedulerExtraArgs:address: 0.0.0.0

手动修改所有master机器都要执行,node节点只需要修改和kubelet相关的,

如果你kubeadm还没有开始部署下面的操作只需要执行kubelet的操作

sed -e "s/- --address=127.0.0.1/- --address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-controller-manager.yaml
sed -e "s/- --address=127.0.0.1/- --address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-scheduler.yamlKUBEADM_SYSTEMD_CONF=/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
sed -e "/cadvisor-port=0/d" -i "$KUBEADM_SYSTEMD_CONF"
if ! grep -q "authentication-token-webhook=true" "$KUBEADM_SYSTEMD_CONF"; thensed -e "s/--authorization-mode=Webhook/--authentication-token-webhook=true --authorization-mode=Webhook/" -i "$KUBEADM_SYSTEMD_CONF"
fi
systemctl daemon-reload
systemctl restart kubelet

下载官方提供的源码,版本(我的是0.18.1)

git clone -b v0.18.1 https://github.com/coreos/prometheus-operator

cd prometheus-operator/contrib/kube-prometheus
./hack/cluster-monitoring/deploy好了,已经部署成功了,看看服务(首次启动会下载需要镜像,过程看个人网络,国内是可以访问的因为部署谷歌的镜像地址)

服务器全部起来了

脚本开放3个NodePort端口

分别是

30903:报警服务

30902:grafana服务

30900:promethues服务

让我们去看看是否都能监控,访问ip(master地址):30900

全部都为up,说明都起来了,刚安装好的是没有etcd的,需要自己创建yaml文件,具体可以参考下面的文档

http://www.mamicode.com/info-detail-2251383.html 非常详细

最后让我们看看数据是否都收集到了grafana

访问grafana地址

http://192.168.100.124:30902 默认账号admin/admin 如果是生产建议修改密码

可以看到Prometheus-operated的作者们已经提供了一套基础的数据模板给我们了,当然也可以根据实际情况来作出修改

etcd的数据全部已获取到

我们知道k8s有3种部署方式,也能监控到

官方默认给的内存和资源都比较小,如果你需要上生产建议按你资源实际情况修改一下,部署完成之后通过编辑修改,否则会出现你的某些服务经常异常重启,大多都由资源到达了临界点导致的。

参考文件:

https://zhangguanzhang.github.io/2018/10/12/prometheus-operator/#%E9%83%A8%E7%BD%B2%E5%AE%98%E6%96%B9%E7%9A%84prometheus-operator

https://github.com/coreos/prometheus-operator/tree/master/Documentation

https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus/docs

转载于:https://www.cnblogs.com/heweiblog/p/9225686.html

kubeadm构建k8s之Prometheus-operated监控(0.18.1)相关推荐

  1. (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本

    基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...

  2. 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化

    概述 很多地方提到Prometheus Operator是kubernetes集群监控的终极解决方案,但是目前Prometheus Operator已经不包含完整功能,完整的解决方案已经变为kube- ...

  3. K8S集群搭建:利用kubeadm构建K8S集群

    master主服务器配置 #--kubernetes-version=v1.14.1指定版本 #--pod-network-cidr=10.244.0.0/16 指定虚拟IP的范围(以10.244开头 ...

  4. k8s prometheus/grafana 监控系统建设

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 prometheus架构 其中 1.pushgateway是用来接收业务推送的数据形成metrics接口. 2.exporter是用来监控组件(三方中 ...

  5. 集群外独立部署Prometheus+Grafana监控K8S全面解析

    简介 Prometheus+Grafana作为监控K8S的解决方案,大都是在K8S集群内部部署,这样可以直接调用集群内的cert及各种监控url,但是增加了集群的资源开销.因此在资源有限的情况下,我更 ...

  6. 运维实操——kubernetes(十九)k8s中部署Prometheus、监控nginx、HPA自动伸缩

    k8s中部署Prometheus.监控nginx.HPA自动伸缩 1.什么是Prometheus? 2.k8s中部署Prometheus监控 3.prometheus监控nginx 4.基于prome ...

  7. k8s安装Prometheus

    注:必须要先搭建网页管理容器: k8s部署dashboard_kali_yao的博客-CSDN博客 1.Prometheus的概述 Prometheus是一个最初在SoundCloud上构建的开源监控 ...

  8. Prometheus企业级监控——理论入门

      本文由于工作任务需要,快速入门了一下Prometheus的一些相关理论知识,供开发过程中快速查阅. 一:监控概念&误区 监控是管理基础设施和业务的核心工具,监控应该和应用程序一起构建和部署 ...

  9. 记一次Prometheus完整监控案例

    时间过得真快,又是一周过去了.自上周转载了一篇关于普罗米休斯的文章后,有点心血来潮,因为在去年也曾浅浅研究过,关于普罗米休斯的文章网上有很多,但是很多都参差不齐,对于初学者或者小白来说,估计很难看懂. ...

最新文章

  1. python乘法口诀表-用python打印99乘法口诀表
  2. 顺序队列的表示和实现
  3. Spring事务传播行为详解
  4. axis2创建web service
  5. Activity隐式启动IntentFilter
  6. 用Java开发自己的Kubernetes控制器,想试试吗?
  7. MySQL 基础 ———— 视图的应用与总结
  8. CSS3 Media Query 响应式媒体查询
  9. activemq后台管理 看topic消息_「Java」 - SpringBoot amp; ActiveMQ
  10. 统计学习基础:数据挖掘、推理和预测_百度零基础深度学习笔记(三) 波士顿房价预测...
  11. python爬取flash数据_爬取flash数据
  12. java线程从没入门就放弃
  13. 210920-车站问题
  14. 计算机二级刷题库刷的到原题吗,刷题能过计算机二级吗?
  15. Python读取本地html文件,获取其中表格内容
  16. 十月下旬腾讯,网易游戏,百度迅雷校园招聘笔试题集锦(第271-330题)
  17. Olly Advanced 1.27
  18. 抖音小程序支付宝异步回调中验签php代码
  19. Android源码-高质量开发库
  20. PHP对接twitter三方登录-WEB版

热门文章

  1. Riche million espérer interroger chasse.
  2. HBuilder js,css压缩,增强代码的安全性
  3. kafka集群开启sasl认证
  4. MCU 8080规格LCD屏斜线问题——Tear功能
  5. 接口文档编辑工具+接口文档编写
  6. 解决java中使用getImage()导入图片失败问题
  7. 性能测试--03企业级性能测试与分析
  8. 袋鼠云的mysql_袋鼠云数据中台专栏2.0 | 数据中台之数据集成
  9. 两大Mac内存清理方法,嫌麻烦的就直接使用第二种
  10. Unity3D播放ogv格式的视频