作者:v神
导语:
云原生日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志数据解决平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
腾讯云容器服务(Tencent Kubernetes Engine,TKE)是基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。同时腾讯云也提供 弹性容器服务(Elastic Kubernetes Service,EKS)和 边缘容器服务(Tencent Kubernetes Engine for Edge,TKE Edge),方便您按需选择。
集群内的状况层出不穷,变化莫测,如节点状态异常,Pod重启等,如果无法第一时间感知状况,会错过最佳的问题处理时间,待问题扩大,影响到业务时才发现往往已经为时已晚。
而事件日志(Event)记录了全面的集群状态变更信息,不仅可以帮助用户帮助第一时间发现问题,也是排查问题的最佳帮手。
事件(Event)是Kubernetes中众多资源对象中的一员,通常用来记录集群内发生的状态变更,大到集群节点异常,小到Pod启动、调度成功等等。我们常用的kubectl describe
命令就可以查看相关资源的事件信息。
日志服务CLS提供针对kubernetes事件日志的一站式服务,包含采集,存储,检索分析能力。用户仅需一键开启集群事件日志功能,即可获取开箱即用的事件日志可视化分析仪表盘。通过可视化的图表,用户可以轻松通过控制台解决大多数常见的运维问题,下面就让我们一起看看如何使用事件日志去排查问题。
前提条件:用户购买TKE容器服务,开启集群事件日志,请参考操作指南
进入TKE容器服务控制台,点击左侧菜单中【集群运维】>【事件检索】。在【事件检索】页面,点击【事件总览】,在过滤项中输入异常节点名称。
查询结果显示,有一条节点磁盘空间不足
的事件记录查询结果如下图:
进一步查看异常事件趋势:
可以发现,2020-11-25
号开始,节点172.16.18.13
由于磁盘空间不足导致节点异常,此后kubelet开始尝试驱逐节点上的pod以回收节点磁盘空间。
开启了节点池「弹性伸缩」的集群,CA(cluster-autoscler)组件会根据负载状况自动对集群中节点数量进行增减。如果集群中的节点发生了自动扩(缩)容,用户可通过事件检索对整个扩(缩)容过程进行回溯。
在【事件检索】页面,点击【全局检索】,输入以下检索命令:
event.source.component : "cluster-autoscaler"
在左侧隐藏字段中选择event.reason
、event.message
、event.involvedObject.name
、event.involvedObject.name
进行显示,将查询结果按照日志时间
倒序排列,结果如下图所示:
通过上图的事件流水,可以看到节点扩容操作在2020-11-25 20:35:45
左右,分别由三个nginx Pod(nginx-5dbf784b68-tq8rd、nginx-5dbf784b68-fpvbx、nginx-5dbf784b68-v9jv5)触发,最终扩增了3个节点,后续的扩容由于达到节点池的最大节点数没有再次触发。
以上就是本期TKE事件日志的玩法分析, 如果您有更多有意思的日志实践,欢迎投稿!
往期文章:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。