Prometheus(七)---标签管理

Prometheus 中存储的数据为时间序列,是由 Metric 的名字和一系列的标签(键值对)唯一标识的,不同的标签代表不同的时间序列,即通过指定标签查询指定数据 。不同的标签代表不同的时间序列,即通过指定标签查询指定数据。 指标+标签实现了查询条件的作用,可以指定不同的标签过滤不同的数据。 元数据标签(metadata)在被监控端纳入普罗米修斯里面定义了一些元数据标签 在Promethe...

Prometheus(六)---PromQL

PromQL 是 Prometheus 内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。并且被广泛应用在 Prometheus 的日常应用当中,包括对数据查询、可视化、告警处理当中。可以这么说,PromQL 是 Prometheus 所有应用场景的基础,理解和掌握 PromQL 是 Prometheus 入门的第一课。 up在 prometheus 的 gra...

Prometheus(五)---监控k8s

使用 Prom 监控 Kubernetes 所需要哪些指标 节点资源指标 Node 数量 Pod 数量 资源对象状态 容器资源利用 … 节点资源指标可以通过,node_exporter 来获取,其他的指标需要通过 cAdvisor 和 kube-state-metrics ,其中 cAdvisor 是已经集成到 kubelet 中,可以通过 kubelet 的 API 地址直接获取指标的...

Helm(三)---模板开发

本文参考 Helm 官网编写,接近照抄,只是为了让自己更快吸收这些东西 在上一遍中,使用 helm create xxx 创建好了一个 chart 包的模板,生成的内容有关 go 模板的东西是看不懂的,至少我看不懂,比如 {{- toYaml . | nindent 8 }} {{- with .Values.nodeSelecto...
Helm

Helm(二)---Charts

Helm 使用一种名为 charts 的包格式,一个 chart 是描述一组相关的 Kubernetes 资源的文件集合,单个 chart 可能用于部署简单的应用,比如 ETCD,或者复杂的应用,比如一个带有 HTTP 服务、数据库、缓存等等功能的完整 web 应用程序。 Charts 是创建在特定目录下面的文件集合,然后可以将它们打包到一个版本化的存档中来部署。 文件结构chart 被组织...
Helm

Kubernetes控制HPA生效时间

对于 Java 等需要预热的语言与框架而言,在容器刚启动的时候,有可能会出现分钟级别的CPU、内存飙高,其可能会造成HPA的误触发。 上面这句原话出自阿里云ACK服务文档,确实也是我在生产中遇到的问题,cpu 给高了吧,有点浪费资源,给低了吧,每次发版启动时就会触发 HPA,也会一直告警,很烦,一开始我以为配置在 HPA 里面,把 HPA 的文档都泛滥了,甚至对于 HPA 的使用更深了,也没...

Prometheus(四)---服务发现

随着 Prom 监控的体量越来越大,每次加入新的监控指标接口,都要手动的在 prometheus.yml 文件中添加内容,每次还要重新加载,维护管理起来也是鸡肋的存在,Prom 有原生支持的监控服务发现 Prom 常见的服务发现分为以下 3 种: 基于文件的服务发现 基于 Consul 的服务发现 基于 Kubernetes 的服务发现 基于文件的服务发现在 Prom 的配置文件中添加 ...

Prometheus(三)---监控展示Grafana

上一篇 中搭建好了 Prometheus Server,如何使用 Prometheus 来完成就监控的告警是本文来学习的。同样也是清晰明白监控流程的一个过程。 要监控一套服务,是要获取到服务的指标数据,一种方式是自己写接口,遵循 Prom 的数据模型进行指标的收集,另一种方式是使用社区维护的 exporter 获取指标数据。 想要看到炫酷美观的监控界面,可以搭配 Grafana 来做 Pro...

Helm部署ETCD(备份恢复)

应公司开发要求业务分离需要用到 ETCD 数据库,因为资源问题,也就不申请机器在虚机部署了,准备直接上容器,开发/测试/预生产都上了单节点的 ETCD 对于 ETCD 的容器化部署,官方目前只有 docker 容器的部署方式 https://etcd.io/docs/v3.6/install/ https://github.com/etcd-io/etcd/releases ,有一个 bit...

Kubernetes--StorageClass(二)

之前在学习 storageclass 的时候使用过 nfs-client 的外部存储,原文地址:Kubernetes-StorageClass-动态供给 当时有个 bug,需要修改 apiserver 静态 pod 的配置,今天我使用 1.24.0 的 k8s 集群部署时,仍然有这个 bug,根据当时的方法已经无法解决了,所有找了另一个 nfs 外部存储的方法,项目地址:https://gi...

Prometheus(二)---安装部署

Prometheus官方文档 仅支持二进制部署或者 docker 容器部署。任意一种都行,我这里以二进制为例进行部署。 二进制方式部署在 Prometheus 官网下载对应版本和 CPU 架构的二进制包 $ wget -O /opt/prometheus.tar.gz https://github.com/prometheus/prometheus/releases/download/v2....

Prometheus(一)---介绍及架构理解

Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是 Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

Kubernetes生产节点缩容方案

受疫情影响,公司收益也大受影响,从我入职以来一直在进行成本缩减,不要问,问就是我没被裁。现在已经轮到 k8s 节点倒霉了,要准备对几台节点进行裁员,由我来进行方案定制 Kubernetes生产节点缩容方案 worker节点数 14 单节点 16c64g 评估各节点 pod 数量和资源使用情况,根据综合比使用各项资源最少的进行缩减规划工作,尽量减少 pod 驱逐后最小化对业务的实际影响,...

关于容器业务返回308的问题

最近在做 k8s 容器下云的迁移,今天切换域名之后,业务 api 出现308 状态码,我们的环境是:公网负载ip -> nginx -> ingress -> pod,刚开始排查思路一直在 k8s 集群外部,一直无法定位到原因,即使 google 对 308 也是毫无头绪。 后来也想到之前的 ingress 用的阿里云 ACK 自带的,和 ingress-nginx 不同,...

Kubernetes---LoadBalancer和ingress

在之前的文章 通过 Service 访问 Pod 集群 中,学习了两种方法做 pod 负载,分别是 ClusterIPNodePort ,也提到了 LoadBalancer,仅仅是提了一嘴。

在正常的生产环境中,当使用了 NodePort 类型暴露服务时,每台集群节点的 nodeport 端口都能够去访问,





正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0