部署好了 kube-prometheus 与 k8s-prometheus-adapter (详见之前的博文 k8s 安装 prometheus 过程记录),使用下面的配置文件部署 HPA(Horizontal Pod Autoscaling) 却失败. apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: blog-web spec: scaleTargetRef: apiVersion: a…
昨天晚上通过压测验证了 HPA 部署成功了. 所使用的 HPA 配置文件如下: apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: blog-web spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: blog-web minReplicas: 2 maxReplicas: 8 metrics: - type: Po…
Prometheus介绍 Prometheus是一个最初在SoundCloud上构建的开源监控系统 .它现在是一个独立的开源项目,为了强调这一点,并说明项目的治理结构,Prometheus 于2016年加入CNCF,作为继Kubernetes之后的第二个托管项目. 特点 具有由 metric 名称和键/值对标识的时间序列数据的多维数据模型 PromQL,有一个灵活的查询语言 不依赖分布式存储,只和本地磁盘有关 通过 HTTP 的服务拉取时间序列数据 也支持推送的方式来添加时间序列数据 通过服务发…
使用 Kubernetes 进行容器编排的主要优点之一是,它可以非常轻松地对我们的应用程序进行水平扩展.Pod 水平自动缩放(HPA)可以根据 CPU 和内存使用量来扩展应用,前面讲解的 HPA 章节 我们只演示了基于 CPU 的自动缩放,在更复杂的情况下,我们可能还需要基于内存或者基于某些自定义的指标来进行扩缩容. HorizontalPodAutoscaler 是 Kubernetes autoscaling API 组的资源,在当前稳定版本 autoscaling/v1 中只支持基于 CP…
具体参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/16291296.html 本章用到的yaml文件地址:https://files.cnblogs.com/files/sanduzxcvbnm/operator_yaml.zip?t=1654593400 背景说明 依据官方文档进行部署,解决部署过程中出现的各种问题,并有所优化 以上缺少的部分可以根据实际情况进行修改而定 安装 git clone https://github.com/coreos/ku…
文章转载自:https://www.qikqiak.com/post/k8s-hpa-usage/ Kubernetes 提供了这样的一个资源对象:Horizontal Pod Autoscaling(Pod 水平自动伸缩),简称HPA,HPA 通过监控分析一些控制器控制的所有 Pod 的负载变化情况来确定是否需要调整 Pod 的副本数量,这是 HPA 最基本的原理: 我们可以简单的通过 kubectl autoscale 命令来创建一个 HPA 资源对象,HPA Controller默认30s…
安装 前面的章节中我们学习了用自定义的方式来对 Kubernetes 集群进行监控,基本上也能够完成监控报警的需求了.但实际上对上 Kubernetes 来说,还有更简单方式来监控报警,那就是 Prometheus Operator.Prometheus Operator 为监控 Kubernetes 资源和 Prometheus 实例的管理提供了简单的定义,简化在 Kubernetes 上部署.管理和运行 Prometheus 和 Alertmanager 集群. 介绍 首先我们先来了解下 P…
第一章.前言 以前是用heapster来收集资源指标才能看,现在heapster要废弃了从1.8以后引入了资源api指标监视 资源指标:metrics-server(核心指标) 自定义指标:prometheus,k8s-prometheus-adapter(将Prometheus采集的数据转换为指标格式)     k8s的中的prometheus需要k8s-prometheus-adapter转换一下才可以使用 新一代架构:     核心指标流水线:         kubelet,metric…
prometheus它是一个主动拉取的数据库,在K8S中应该展示图形的grafana数据实例化要保存下来,使用分布式文件系统加动态PV,但是在本测试环境中使用本地磁盘,安装采集数据的agent使用DaemonSet来部署,DaemonSet的特性就是在每个node上部署一个服务进程,这一切都是自动的部署. 此处只讲如何用prometheus来监控K8S集群,关于prometheus的知识参考官方文档.另外有  heapster  dcos 部署前提: 准备好所需要的文件 $ ls -l  Pro…
使用ConfigMaps管理应用配置 当使用Deployment管理和部署应用程序时,用户可以方便了对应用进行扩容或者缩容,从而产生多个Pod实例.为了 能够统一管理这些Pod的配置信息,在Kubernetes中可以使用ConfigMaps资源定义和管理这些配置,并且通过环境 变量或者文件系统挂载的方式让容器使用这些配置. 这里将使用ConfigMaps管理Prometheus的配置文件,创建prometheus-config.yml文件,并写入以下内容: apiVersion: v1 data…
什么是普罗米修斯? Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 . 自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区. 组件说明 MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等. PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据. NodeExporter…
介绍 这是一个关于 Egg.js 应用上云️的示例,笔者所在的大前端团队的已应用于生产. CI/CD & DevOps & GitOps & HPA 等这里暂不做讨论,因为每一个点篇幅都很长. 我这里的实验条件 一个可用的 Kubernetes 集群 已在集群中部署 Kube-Prometheus-Stack 已在集群中部署 Traefik v2.2 作为 Ingress Controller 已安装 Helm V3 示例项目 可直接做实验(文章写的再好,不如提供一个上云示例) G…
由于docker容器的特殊性,传统的zabbix无法对k8s集群内的docker状态进行监控,所以需要使用prometheus来进行监控: 什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本. 2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prom…
简介 通过手工执行 kubectl scale 命令或者通过修改deployment的replicas数量,可以实现 Pod 扩容或缩容.但如果仅止于此,显然不符合 Google 对 Kubernetes 的定位目标 -- 自动化.智能化.在 Google 看来,分布式系统要能够根据当前负载的变化情况自动触发水平扩展或缩容的行为,因为这一过程可能是频繁发生的.不可预料的,所以手动控制的方式是不实现的. 因此,Kubernetes 的 v1.0 版本实现后,这帮大牛们就已经在默默研究 Pod 智能…
参考: https://blog.csdn.net/yjph83/article/details/84909319 https://www.gitbook.com/book/songjiayang/prometheus/details (Prometheus 实战) https://github.com/1046102779/prometheus (Prometheus 非官方中文手册) http://www.bubuko.com/infodetail-2004088.html (基于prome…
首先在Linux系统上安装一个探测器node explorer, 下载地址https://prometheus.io/docs/guides/node-exporter/ 这个探测器会定期将linux系统的各项硬件指标和内核参数通过9100端口和url metrics暴露给外部. 启动node explorer,显示在9100端口上监听: 浏览器里输入hostname:9100/metrics就可以访问到node explorer收集到的各项参数: 一些例子: CPU在不同工作模式下的使用时间:…
通过JMX获取weblogic的监控数据,包括JDBC,SESSION,SERVERLET,JVM等信息.主要用到weblogic自己的t3协议,所以要用到weblogic的jar包:wlfullclient.jar和wlclient.jar.这两个jar包怎么获取我专门在另外一篇文章中讲.下面贴一些获取监控指标的代码,做个备份只用吧. 1.对JDBC的监控,只取了最重要的监控指标: package test; import java.io.IOException; import java.ne…
开始以为只要安装 prometheus-operator 就行了. git clone https://github.com/coreos/prometheus-operator.git cd prometheus-operator sed 's/namespace: default/namespace: monitoring/g' bundle.yaml | kubectl apply -f - 安装后发现只有一个 prometheus-operator pod . $ kubectl get…
作为承载海量数据存储的分布式文件系统,用户通常需要直观地了解整个系统的容量.文件数量.CPU 负载.磁盘 IO.缓存等指标的变化. JuiceFS 没有重复造轮子,而是通过 Prometheus 兼容的 API 对外提供实时的状态数据,只需将其添加到用户自建的 Prometheus Server 建立时序数据,然后通过 Grafana 等工具即可轻松实现 JucieFS 文件系统的可视化监控. 快速上手 这里假设你搭建的 Prometheus Server.Grafana 与 JuiceFS 客…
一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的.自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有一个非常活跃的开发者和用户社区.它现在是一个独立的开放源码项目,并且独立于任何公司,为了强调该点并澄清项目的治理结构,Prometheus在2016年加入了云计算基金会,成…
由于容器化和微服务的大力发展,Kubernetes基本已经统一了容器管理方案,当我们使用Kubernetes来进行容器化管理的时候,全面监控Kubernetes也就成了我们第一个需要探索的问题.我们需要监控kubernetes的ingress.service.deployment.pod......等等服务,以达到随时掌握Kubernetes集群的内部状况. 此文章是Prometheus监控系列的第一篇,目的也很明确,旨在于寻找一套能够胜任kubernetes集群监控的架构. k8s监控方案调研…
在上一篇文章中,给大家介绍和剖析了 HPA 的实现原理以及演进的思路与历程.本文我们将会为大家讲解如何使用 HPA 以及一些需要注意的细节. autoscaling/v1 实践 v1 的模板可能是大家平时见到最多的也是最简单的,v1 版本的 HPA 只支持一种指标 ——  CPU.传统意义上,弹性伸缩最少也会支持 CPU 与 Memory 两种指标,为什么在 Kubernetes 中只放开了 CPU 呢?其实最早的 HPA 是计划同时支持这两种指标的,但是实际的开发测试中发现:内存不是一个非常好…
简介 Prometheus 最初是 SoundCloud 构建的开源系统监控和报警工具,是一个独立的开源项目,于2016年加入了 CNCF 基金会,作为继 Kubernetes 之后的第二个托管项目. 特征 ​ Prometheus 相比于其他传统监控工具主要有以下几个特点: ​ 具有由 metric 名称和键/值对标识的时间序列数据的多维数据模型 ​ 有一个灵活的查询语言 ​ 不依赖分布式存储,只和本地磁盘有关 ​ 通过 HTTP 的服务拉取时间序列数据 ​ 也支持推送的方式来添加时间序列数据…
背景 ​ 自Kubernetes 1.11版本起,K8s资源采集指标由Resource Metrics API(Metrics Server 实现)和Custom metrics api(Prometheus实现)两种API实现,传统Heapster监控被废弃.前者主要负责采集Node.Pod的核心资源数据,如内存.CPU等:而后者则主要负责自定义指标数据采集,如网卡流量,磁盘IOPS.HTTP请求数.数据库连接数等. ​ heapster被废弃以后,所有的指标数据都从API接口中获取,kube…
一.概述 首先Prometheus整体监控结构略微复杂,一个个部署并不简单.另外监控Kubernetes就需要访问内部数据,必定需要进行认证.鉴权.准入控制, 那么这一整套下来将变得难上加难,而且还需要花费一定的时间,如果你没有特别高的要求,我还是建议选用开源比较好的一些方案. 关于Prometheus具体介绍不再多说,可以参考另外一篇博文:Kubernetes实战总结 - Prometheus部署(v0.3.0) 本篇主要针对Kubernetes部署Prometheus相关配置介绍,本人采用的…
监控架构概述 kubernetes监控指标大体可以分为两类:核心监控指标和自定义指标,核心监控指标是kubernetes内置稳定可靠监控指标,早期由heapster完成,现由metric-server实现:自定义指标用于实现核心指标的扩展,能够提供更丰富的指标支持,如应用状态指标,自定义指标需要通过Aggregator和k8s api集成,当前主流通过promethues实现. 监控指标用途: kubectl top 查看node和pod的cpu+内存使用情况 kubernetes-dashba…
转载自:https://www.qikqiak.com/post/prometheus-monitor-k8s-job-trap/ 昨天在 Prometheus 课程辅导群里面有同学提到一个问题,是关于 Prometheus 监控 Job 任务误报的问题,大概的意思就 CronJob 控制的 Job,前面执行失败了,监控会触发报警,解决后后面生成的新的 Job 可以正常执行了,但是还是会收到前面的报警: 这是因为一般在执行 Job 任务的时候我们会保留一些历史记录方便排查问题,所以如果之前有失败…
目录 1.Prometheus概述 2.Prometheus部署 2.1.创建名称空间prom 2.2.部署node_exporter 2.3.部署prometheus-server 2.4.部署kube-sate-metrics 2.5.制作证书 2.6.部署k8s-prometheus-adapter 3.Grafana数据展示 1.Prometheus概述 除了前面的资源指标(如CPU.内存)以外,用户或管理员需要了解更多的指标数据,比如Kubernetes指标.容器指标.节点资源指标以及…
目录 一.Prometheus 介绍 1.1.Prometheus 架构 1.2.Prometheus Operator 架构 二.Helm 安装部署 2.1.Helm 客户端安装 2.2.Tiller 服务器安装 三.部署 Prometheus Operator 3.1.安装 Prometheus Operator Deployment 3.2.安装 Prometheus 3.3.安装 Alertmanager 3.4.安装 kube-prometheus 四.查看效果图 4.1.查看 kub…
一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 IP 磁盘 备注 k8smaster01 172.24.8.71 —— Kubernetes Master节点 Heketi主机 k8smaster02 172.24.8.72 —— Kubernetes Master节点 Heketi主机 k8smaster03 172.24.8.73 —— Kubernet…