5种方法让你知道Kubernetes集群的健康状况

5种方法让你知道Kubernetes集群的健康状况

作者:钟涛翻译 2020-04-26 10:32:58

云计算 Kubernetes是一种非常智能的技术,但如果操作不当反而弄巧成拙。正如大多数智能化技术一样,它的智能程度取决于操作者。为了建立成功的Kubernetes团队,了解Kubernetes的健康状况至关重要。这里有五种方法,可以让工程师很好的识别出集群的潜在健康风险。

Kubernetes是一种非常智能的技术,但如果操作不当反而弄巧成拙。正如大多数智能化技术一样,它的智能程度取决于操作者。为了建立成功的Kubernetes团队,了解Kubernetes的健康状况至关重要。这里有五种方法,可以让工程师很好的识别出集群的潜在健康风险。

幸运的是,有一些现成的技术可以用来收集Kubernetes集群的日志、各种指标数据、事件和安全威胁,以帮助监视集群的健康状况。这些收集器从Kubernetes集群的各个部分收集数据,然后对数据进行整合,从而生成可视化的高级视图,并实时了解资源利用率,发现错误的配置和其他问题。

为所有的Pod设置CPU的使用上下限

在Kubernetes集群中,Pod的调度机制依赖于requests和limits这两个参数。我们可以为CPU和内存设置requests和limits。对于CPU,它的单位是millicores,1000m等于一个CPU核。requests是你认为容器至少需要多少CPU和内存,而limits则是允许容器使用的实际上限。

确保为所有的Pod设置了CPU requests。最佳实践是将其设置为一个CPU核或更少,如果需要更多的计算能力,则添加额外的Pod副本。需要注意的是,如果你的CPU requests过高,比如2000m,但是你只有1个CPU核可用,那么这个Pod将永远不会被调度到Kubernetes集群中。在第5点中,我将向你展示如何检查未被调度的Pod。

确保为所有的Pod设置了CPU limits。如上所述,这个参数限制了Pod使用CPU的上限,因此Kubernetes将不允许Pod使用比limits中定义的更多的CPU。也就是说,CPU是比较宽容的,因为它被认为是一种可压缩资源。如果你的Pod达到了CPU limits,它不会被终止,而是被节流,因此可能会出现性能下降。

为所有的Pod设置内存的使用上下限

确保为所有的Pod设置了memory requests:memory requests是你认为容器至少需要多少内存。像CPU一样,如果Pod的memory requests大于集群可以提供的内存,Kubernetes不会将Pod调度到Kubernetes集群中。

确保为所有的Pod设置了memory limits: memory limit是允许Pod使用内存的上限。与CPU不同,内存是不可压缩的,也不能进行节流。如果容器超过了它的内存限制,那么它将被终止。

审计资源配置

检查Kubernetes是否有不足或过剩的资源。如果Kubernetes集群中有剩余的可用CPU和内存,那么集群就处于消耗状态,并且消耗可能会持续增长。另一方面,如果CPU和内存的利用率接近100%,那么当集群需要水平扩展或有大量请求到来时,集群可能会遇到问题。

检查Pod的剩余容量,在Kubernetes中有一个指标数据“kube_node_status_allocatable”,这是Kubernetes在给定平均Pod资源利用率的情况下,对一个节点能容纳多少个Pod的估计。我们可以把剩余的Pod容量加起来,粗略地估计一下我们能在不遇到问题的情况下,集群还能扩大多少。

检查CPU总百分比使用率,CPU requests百分比使用率,CPU limits百分比使用率:CPU总百分比使用率可以告诉你现在使用了多少。CPU requests百分比使用率可以告诉你应该需要多少。CPU limits百分比使用率限制了你可以使用多少。

在下面的例子中,我们只使用了可用计算能力的2.5%。我们的剩余资源过多。相比之下,我们定义的CPU requests是46%,所以我们认为Pod需要的比Pod实际使用的多得多。我们的预估不够准确。

最后,我们的CPU limits总和是37%。由于这低于我们的CPU requests,这是一个错误的配置,我们需要重新检查我们的CPU limits。

检查内存的百分比使用率、memory requests百分比使用率,memory limits百分比使用率。就像CPU一样,查看是否有过多的剩余资源。只有3.8%的使用率告诉我们,我们确实资源过剩,但我们可以安全的进行水平扩展。

检查节点间的Pod分布

当我们查看Pod在集群中的分布情况时,我们希望得到一个大致均匀的分布。如果某些节点完全超载或负载不足,这可能是一个值得深入研究的问题。

以下是可能导致分布不均匀的一些事项:

  • Node affinity,亲和性是一种Pod设置,它使Pod更喜欢具有某些属性的节点。例如,Pod可能需要在附加了GPU或SSD的节点上运行,或者Pod可能需要具有特定安全隔离或策略的节点。检查亲和性设置可以帮助分析不均匀分布的原因,并减少可能出现的问题。

Taints and tolerations,污点是亲和性的反义词。Pod不太喜欢被分配到这些被“污染”的节点上。如果你希望为特定的Pod保留节点,或者确保该节点上的Pod可以完全访问可用资源,那么可以使用此方法。

Limits and requests,查看limit和request的设置。这常常是Pod分布不均匀的原因,因此值得在本节的三个部分中提及。如果Kubernetes调度程序没有Pod需要什么的正确信息,那么调度程序在调度方面就会做得很差。

检查Pod是否处于不良状态

在Kubernetes环境中,Pod的状态时刻在变化,所以过度关注每一个被终止的Pod将会慢慢吞噬你的时间和理智。但是,下面的列表值得你关注,以确保达到期望的集群状态。

  • Nodes not ready:节点可能由许多原因而陷入这种状态,但通常是因为内存或磁盘空间不足。
  • Unscheduled pods:Pod通常以未调度状态结束,由于调度程序无法满足Pod所需要的CPU或内存请求。检查集群是否拥有足够的可用资源。
  • Pods that failed to create:Pod在创建时失败,这通常是由于在Pod的启动脚本中缺少某些依赖项之类的镜像导致的。在这种情况下,回到起点,反复检查Pod的各种参数配置。

Container restarts:一些容器重新启动不值得关注,但是看到很多这样的情况,可能意味着Pod处于OOMKill(内存耗尽)状态。内存不足是Kubernetes集群中最常见的错误之一,可能是由镜像问题、下游依赖项问题或各种意外、限制和请求问题引起的。

这些集群健康最佳实践可以限制Kubernetes集群出现意外情况,并确保集群在扩展时不会遇到问题。还为你提供了一个很好的起点,以帮助你回答那些无定形的问题,如“我的Kubernetes集群是否健康?” 如果所有这些检查点都是绿色的,那么你的集群可能处于健康状态,你可以高枕无忧了。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/229265.html<

(0)
运维的头像运维
上一篇2025-04-18 16:46
下一篇 2025-04-18 16:47

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注