您当前的位置: 首页 > 新诗园地

Kubernetes 集群和系统设计监控方案的设计与实践(上)

2023-12-01 03:42:01

非议我们

(本文阅读时间:4分钟)

大家好,我是本期的旋软 MVP 实验室研究员-严振范。在本篇文章里,我将参考在 Kubernetes 之前关于控管的一些知识,以及如何为了让非主流的 Prometheus + Grafana 可行性,对整个炮兵部队透过控管和数据集系统性展示。

旋软MVP实验室研究员

严振范

旋软最众所周知科学家,一个逗B,迄今为止正在学习旋服务无关的知识,可以多文化交流哟~

Kubernetes 控管

当你的广泛应用部署到 Kubenetes 后,你很难见到罐在表面上再次发生了什么,一旦罐想到,里面的数据集显然就永远没有恢复,甚至没有查看副本以定位问题所在,何况一个广泛应用显然发挥作用很多个比如说,用户的一个劝说不自行决定被哪个罐处理方式了,这使得在 Kubernetes 之前对广泛应用透过故障也就是说非常复杂。在广泛应用外,由于 Kubernetes 作为公共服务,掌管这整个炮兵部队的世事,Kubernetes 的任何故障,必定影响到广泛应用服务的接入,因此控管 Kubernetes 接入状况也至关重要。

当你的广泛应用上了寒原生,那你就不得不非议各个客户端的接入稳定状态,公共服务和之前间件的接入稳定状态,Kubernetes 之前每个组件和资源取向的接入稳定状态,每个广泛应用的接入稳定状态。当然,这个接入稳定状态是一个模糊不清的观念,取决于我们的如前所述,每个被控管的取向要隐含的 "接入稳定状态" 是不一样的。为了可以控管我们非议的取向,取向所需认真出一些配合,备有适合于的接入稳定状态的隐含电子邮件,以供我们通过观察和系统性,这可以称作可观测性。

在寒原生之前,一般对可观测性分作三大作用域:

你可以在 Kubernetes 数据库之前了解如何控管、仿真,以及了解如何对副本透过处理方式。

在本文之前,所写到的控管,只包括 Metrics 。

Metrics、Tracing、Logging 不是基本上独立的,在上图之前,Metrics 也但会显然都有 Logging 和 Tracing 的电子邮件。

▌控管取向

要通过观察的控管数据集,来源于被控管取向,而在 Kubernetes 炮兵部队之前,我们可以将要控管的取向分作三大外:

驱动器:炮兵部队之前的所有端口驱动器,举例来说有 CPU CPU采用率、网络和硬盘 IO 速率等; Kubernetes 取向稳定状态:Deployments, Pods, Daemonsets, Statefulset 等取向的稳定状态和某些举例来说电子邮件; 广泛应用:Pod 之前每个罐的稳定状态或举例来说,以及罐本身显然备有的 /metrics 交叉点。

▌Prometheus

在基础环境之前,一个原始的控管应包括通过观察数据集、加载数据集、系统性加载数据集、展示数据集、告警等多个外,而每个外都有无关的基本功能或技术开发克服寒原生之前环境的繁多市场需求和复杂性问题。

既然要认真控管,那么就所需控管基本功能。控管基本功能可以换取所有重要的举例来说和副本(Metrics也可以都有一些副本),并将它们加载在一个必要、集之前的右方,以便可以随时到访它们来制定可行性克服问题。由于在寒原生之前,广泛应用在 Kubernetes 炮兵部队之前部署,因此,控管 Kubernetes 可以让你深入了解炮兵部队的接入状况和性能举例来说、资源计数以及炮兵部队在表面上具体情况的顶级概览。再次发生错误时,控管基本功能但会警告你(告警功能),以便你快速发布修缮程序来。

Prometheus 是一个 CNCF 概念设计,可以原生控管 Kubernetes、端口和 Prometheus 本身,迄今为止 Kubernetes 官方数据库主要推荐采用 Prometheus 本身,它为 Kubernetes 罐编排模拟器备有开箱即用的控管灵活性。因此在本文之前,对控管可行性的设计是围绕 Prometheus 告一段落的。

前面是 Prometheus 的一些组件参考:

Metric Collection: Prometheus 采用莫基本概念通过 HTTP 链接度量。在 Prometheus 没有换取举例来说的具体情形,可以选择为了让 Pushgateway 将举例来说推给 Prometheus 。 Metric Endpoint: 决心采用 Prometheus 监视的系统对应该公开某个/度量交叉点的度量, Prometheus 为了让这个交叉点以固定的间隔提炼举例来说。 PromQL: Prometheus 附带了 PromQL,这是一种非常灵活的查询语言,可用于查询 Prometheus 旋钮之前的举例来说。此外,Prometheus UI 和 Grafana 将采用 PromQL 查询来可视化举例来说。 Prometheus Exporters: 有许多特和客户端可以试图将第三方系统对之前的现有举例来说导出为 Prometheus 举例来说。这对于没有直接采用 Prometheus 举例来说样品给定系统对的具体情况。

TSDB (time-series database): Prometheus 采用 TSDB 高效地加载所有数据集。默认具体情形,所有数据集都加载在本地。然而,为了可避免单点故障,prometheustsdb 可以选择集成远程加载。

Prometheus 在 Kubernetes 之前的控管可行性形态如下:

【图源:】

▌举例来说

要控管的取向一般来说很多,我们把相同型式的取向称作一个单独,而每个单独接入时的取向转化成的数据集有各种各样的,为了总结通过观察这些数据集, Prometheus 将单独之前的各种表征值分作 Counter (定时器)、Gauge (操纵杆)、Histogram(翻倍直方图)、Summary(摘要)四种型式,单独之前的每个表征,称作举例来说,例如 罐已总共采用 CPU 量,采用举例来说名称 container_cpu_usage_seconds_total 记录下来。

每个举例来说一般XML为:

举例来说名称{URL集=值} 举例来说值

每个取向都在平常转化成数据集,为了辨别理论上举例来说值属于哪个取向,可以给举例来说除了指 标值外,附加大量的URL集电子邮件,下例如下暗示。

container_cpu_usage_seconds_total{ beta_kubernetes_io_arch = "amd64", beta_kubernetes_io_os = "linux", container = "POD", cpu = "total", id = "...", image = "k8s.gcr.io/pause:3.5", instance = "slave1", job = "kubernetes-cadvisor", kubernetes_io_arch = "amd64", kubernetes_io_hostname = "slave1", kubernetes_io_os = "linux", name = "k8s_POD_pvcpod_default_02ed547b-6279-4346-8918-551b87877e91_0", namespace = "default", pod = "pvcpod" }

取向填充相近这种形态的数据库后,可以暴露 metrics 交叉点,让 Prometheus 基本功能通过观察,或通过 Pushgateway 推送到 Prometheus 之前。

月里,我们将在 Kubernetes 之前围住一个原始的 Prometheus 控管体系。

Kubernetes 数据库:

旋软最众所周知科学家(MVP)

旋软最众所周知科学家是旋软公司获得者第三方技术开发专业人士的一个全球奖。29年来,各种型式的技术开发邻里领导,因其在线上和线下的技术开发邻里之前回馈人力资源和经验而取得此奖。

MVP是经过恰当物色的科学家团队,他们代表着技术开发最精湛且最具智慧的人,是对邻里投入极大的真诚并尽责的科学家。MVP不遗余力通过演讲、论坛论辩、创设网站、撰写博客、回馈音频、开源概念设计、其组织但会议等方式来试图他人,并最大程度地试图旋软技术开发邻里用户采用 Microsoft 技术开发。

更加多参阅登录官方网站:

谢谢你读完了本文!赞赏在评论区留言回馈你的思路,并且转发到博文。

如果你对本文青睐有加,想要刊载到自己的模拟器,请在后台为了让「刊载」与我们建立联系!

非议旋软之前国MSDN

加入旋软MVP

南昌看男科去哪个医院好
郑州治白癜风什么医院好
类风湿关节炎吃什么能缓解
推荐阅读
图文聚焦