tencent cloud

文档反馈

TKE 事件日志分析

最后更新时间:2024-01-20 17:28:40

    概述

    集群内的状况层出不穷,变化莫测,如节点状态异常,Pod 重启等,如果无法第一时间感知状况,会错过最佳的问题处理时间,待问题扩大,影响到业务时才发现往往已经为时已晚。 而事件日志(Event)记录了全面的集群状态变更信息,不仅可以帮助用户第一时间发现问题,也是排查问题的最佳帮手。

    什么是事件日志

    Event 是 Kubernetes 中众多资源对象中的一员,通常用来记录集群内发生的状态变更,大到集群节点异常,小到 Pod 启动、调度成功等等。我们常用的kubectl describe命令就可以查看相关资源的事件信息。

    事件日志字段说明

    img
    
    级别(Type): 目前仅有 “Normal” 和 “Warning”,但是如果需要,可以使用自定义类型。
    资源类型/对象(Involved Object):事件所涉及的对象,例如 Pod,Deployment,Node 等。
    事件源(Source):报告此事件的组件;例如 Scheduler、Kubelet等。
    内容(Reason):当前发生事件的简短描述,一般为枚举值,主要在程序内部使用。
    详细描述(Message):当前发生事件的详细描述信息。
    出现次数(Count):事件发生的次数。

    如何使用事件日志去排查问题

    日志服务(Cloud Log Service,CLS)提供针对 kubernetes 事件日志的一站式服务,包含采集,存储,检索分析能力。用户仅需一键开启集群事件日志功能,即可获取开箱即用的事件日志可视化分析仪表盘。通过可视化的图表,用户可以轻松通过控制台解决大多数常见的运维问题。

    前提条件

    已购买容器服务(Tencent Kubernetes Engine,TKE),并开启集群事件日志,详情请参考 操作指南

    场景1:一台 Node 节点出现异常,定位原因

    1. 登录 TKE 控制台
    2. 在左侧导航栏中,单击日志管理 > 事件日志
    3. 在事件检索页面,选择事件总览页签,并在过滤项中输入异常节点名称。
    查询结果显示,有一条节点磁盘空间不足的事件记录查询结果如下图:
    进一步查看异常事件趋势和异常 Top 事件:
    可以发现,2020-11-25号开始,节点172.16.18.13由于磁盘空间不足导致节点异常,此后 kubelet 开始尝试驱逐节点上的 pod 以回收节点磁盘空间。

    场景2:节点触发扩容了,用户需要对扩容过程进行回溯,以确定具体原因

    开启 节点池「弹性伸缩」的集群,CA(cluster-autoscler)组件会根据负载状况自动对集群中节点数量进行增减。如果集群中的节点发生了自动扩(缩)容,用户可通过事件检索对整个扩(缩)容过程进行回溯。
    1. 登录 TKE 控制台
    2. 在左侧导航栏中,单击日志管理 > 事件日志
    3. 在事件检索页面,单击全局检索页签,并输入以下检索命令:
    event.source.component : "cluster-autoscaler"
    4. 在左侧隐藏字段中,选择event.reasonevent.messageevent.involvedObject.nameevent.involvedObject.name进行显示,将查询结果按照日志时间倒序排列。
    通过上图的事件流水,可以看到节点扩容操作在2020-11-25 20:35:45左右,分别由三个 nginx Pod(nginx-5dbf784b68-tq8rd、nginx-5dbf784b68-fpvbx、nginx-5dbf784b68-v9jv5) 触发,最终扩增了3个节点,后续的扩容由于达到节点池的最大节点数没有再次触发。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持