Kubernetes 是当今容器管理和自动化最流行的选择之一。一个高效的 Kubernetes 设置每天都会生成无数新的指标,这使得监控集群运行状况非常具有挑战性。你可能会发现自己在筛选多个不同的指标时,并没有完全确定哪些是最具洞察力的,并需要给予最大的关注。
尽管这看起来是一项艰巨的任务,但你可以通过了解这些指标中的哪一个能够正确地洞察 Kubernetes 集群的运行状况,从而立即开始工作。尽管有一些可观察性平台可以帮助你监控 Kubernetes 集群的正确指标,但准确地了解哪些指标将帮助你有效监控。在本文中,我们将向你介绍 Kubernetes 的几个排名榜首的健康指标。
崩溃循环
一个崩溃循环是你最不想被发现的事情。在崩溃循环中,你的应用程序在 pod 启动时崩溃,并在循环中不断崩溃和重新启动。多种原因可能会导致崩溃循环,从而很难确定根本原因。在崩溃循环发生时得到警报,可以帮助你快速缩小原因列表,并采取紧急措施保持应用程序处于正常状态。
集群状态指标
另一个需要关注的关键指标是集群状态。你应该能够跟踪集群中所有节点的聚合资源使用情况,包括所需的 pod、节点状态、当前 pod、不可用 pod 和可用 pod。监控集群状态并评估由此产生的指标可以让你看到集群总体运行状况的概要视图。你还将了解与节点和 pod 有关的问题。根据状态指标,你可以决定是否需要调查更大的问题或扩展集群。
使用这个指标,你还可以评估节点正在使用的资源数量。你还将看到有多少节点,还有多少节点仍然可用,从而可以准确地知道你所支付的费用以及是否需要调整所使用的节点的数量和大小。
磁盘和内存压力
磁盘压力是一个指标,它根据你在配置中设置的使用阈值,指示你的节点使用磁盘空间是过快还是过多。监控这个指标使你能够确定何时需要添加额外的磁盘空间。它还可能表明你的应用程序没有按照设计的方式运行,并且使用了比需要更多的磁盘空间。
内存压力是一个指标,它指示一个节点正在使用的内存量。监控这个指标可以帮助你防止节点耗尽内存,并指示那些内存资源分配过度、不必要地增加了基础设施开销的节点。高内存压力还可以判断应用程序是否存在内存泄漏。
网络不可用
你会立即想知道你的网络什么时候出了问题。毕竟,你的节点和应用程序需要网络连接才能运行。这个指标可以让你知道什么时候出现了阻碍节点网络连接的问题。这些问题可能是不适当的网络配置或与硬件的物理连接问题造成的。
CPU 利用率
了解你的节点使用了多少 CPU 周期对于确保你的节点明智地使用其分配的 CPU 资源至关重要。如果你的应用程序或节点耗尽了所有已分配的处理资源,你就必须增加 CPU 分配或向集群添加额外的节点。如果你的节点或应用程序使用的 CPU 周期比你所支付的要少,那么你必须重新评估 CPU 分配,并在必要时进行降级。监控 CPU 利用率可以帮助你掌握此类场景,并使部署更有效地运行。
作业失败
Kubernetes Job 是一种控制器,它确保 pod 执行一定的时间,然后一旦它们达到了预期的目的,它们就会退役。有时作业无法成功完成——要么是因为节点重新启动,要么进入崩溃循环,甚至是资源耗尽。无论哪种方式,只要作业失败发生,你就会想要知道它们。
作业失败并不一定意味着你的应用程序是不可访问的——但是忽略作业失败可能会导致后续部署出现更严重的问题。密切监控作业失败可以帮助及时恢复,并在未来避免这些问题。
DaemonSet
DaemonSet 确保 Kubernetes 集群中的所有节点运行你喜欢的特定 pod 的副本。当你希望在所有现有节点和添加到集群中的任何新节点上运行一个监控 service pod 时,DaemonSet 特别有用。
监控 DaemonSet 可以帮助你了解集群的运行状况。理想情况下,集群中观察到的 DaemonSet 数量应该与所需的 DaemonSet 数量匹配。如果你注意到这些数字不相同,那么至少有一个 DaemonSet 可能失败了。
监控 Kubernetes 运行的健康指标
掌握所有 Kubernetes 健康指标对于确保及早发现、预防和及时诊断可能导致集群宕机的问题至关重要。使用正确的监控策略、Kubernetes 健康指标所关注的知识以及正确的监控工具集,是确保生产环境始终处于启动和运行状态的最佳方法。
我们在 LOGIQ 已经构建了一个监控工具,它可以帮助监控各种大小的 Kubernetes 集群,确保没有任何东西不被发现,将成本保持在最低限度,同时为 Kubernetes 提供其他任何人都无法做到的可观察性。跟我们谈谈你们的 Kubernetes 基础设施系统,以及你们希望监控什么。我们可以在 5 分钟内让你完成设置,并向你介绍 LOGIQ 如何成为满足你监控需求的关键支柱。
Linux基金会开源软件学园 Copyright © 2019-2024 linuxfoundation.cn, ICP license, no. 京ICP备17074266号-2