点击上方 云原生CTO,选择 设为星标
优质文章,每日送达
「【只做懂你de云原生干货知识共享】」
K8s 监控介绍 - (第 1 部分)
K8s 由控制器和工作节点上的多个组件组成。想象你是一个 K8s 管理员,搭建了一个集群,你得到用户的确认,他们可以通过这个集群成功部署和测试应用程序。
但是,无法保证集群始终作为健康集群运行而不会遇到任何问题。事情可能随时会破裂;服务可能会停止工作,K8s 组件可能会损坏等。因此,为可靠的 K8s 集群提供可靠的监控解决方案非常重要。
在此之后,让我们试着理解
为什么要监控 如何监控? 学习一些实用的工具
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20211022_2325183c-3324-11ec-ba82-fa163eb4f6be.png)
Kubernetes 架构
为什么要监控?
K8s 集群由具有不同故障点的多个组件和层组成。了解这些失败的时间和原因很重要。监控系统的目标是帮助提供一个健康、可靠的系统。除了可靠性之外,监控还有助于了解系统以帮助调试故障、资源利用率等问题。
另一个使用监控的有用项目可能是利用它来了解资源容量规划的趋势。
一些用例包括(但不限于)可能是
监控 K8 集群和节点 集群资源使用情况、集群/节点可用性健康状况等。
监控 K8s 部署、服务和 Pod 失败的 pods/deployments/services 期望运行多个副本,在资源请求和限制内运行 pods,等等。
监控 K8s 应用 可用性、运行状况、性能等。
什么是监控层?
监控可以在不同的层进行。下面是高层的层次。
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20211022_23681768-3324-11ec-ba82-fa163eb4f6be.png)
监控层
监控指标
可以在不同的监控层收集不同的监控指标。下面是关于可以在不同层收集什么样的指标的粗略指南。
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20211022_23c280c2-3324-11ec-ba82-fa163eb4f6be.png)
监控工具
K8s 有内置的监控工具吗?
K8s 有一些内置的监控工具。这些可以开箱即用,配置最少。但是,还有更复杂的解决方案(如下图所示)。
K8s 集群中的每个节点都运行一个 kubelet 组件。每个 kubelet 都包含cAdvisor有助于从给定节点上的每个容器收集 CPU、内存等指标的信息。它还有助于从整个节点收集指标。Metrics Server 帮助从 cAdvisor 收集这些指标并将它们带到一个中心位置。Metrics Server 在 K8s 集群中的某个节点上作为 Pod 运行,并作为 K8s 服务公开。kubectl top在配置指标服务器后,可以运行以查找容器、Pod 或节点的 CPU、内存、网络利用率。K8s Dashboard帮助提供来自 Metrics Server 的数据的可视化表示。
K8s State Metrics它有助于提供 Metrics Server 无法提供的其他指标。这会侦听 K8s API 并生成与 K8s 逻辑对象相关的指标,例如节点状态、节点容量、pod 状态等。这可以部署为具有单个副本的服务。
Probes帮助监控容器和服务的健康状态。Liveness探针有助于检查服务/pod 是否处于活动状态,如果不是,则采取适当的措施。Readiness探测帮助检查服务/pod 是否已准备好为流量提供服务。K8s 文档有很多关于如何配置这些的细节。
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20211022_24118e56-3324-11ec-ba82-fa163eb4f6be.png)
强烈建议使用更成熟的“开源”或“商业”监控解决方案进行生产。在即将发布的博客文章中,我们将研究其他监控解决方案、监控管道和监控架构。
参考:
https://sandeepbaldawa.medium.com/intro-to-k8s-monitoring-part1-ba3c9f103ee1f