时间:2021-07-15 | 标签: | 作者:Q8 | 来源:roc 陈鹏网络
小提示:您能找到这篇{腾讯云手把手教你使用容器服务TKE集群审计排查}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的腾讯云手把手教你使用容器服务TKE集群审计排查内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< color: rgb(31, 73, 125);">< font-size: 18px;">概述 < ">有时候,集群资源莫名被删除或修改,有可能是人为误操作,也有可能是某个应用的bug或恶意程序调用apiserver接口导致,需要找出"真凶"。这时候,我们需要为集群开启审计,记录apiserver的接口调用,然后根据条件检索和分析审计日志来找到原因。 < ">关于TKE的集群审计简介与基础操作,请参考官方文档集群审计[1]。因为集群审计的数据存储在日志服务,所以我们需要在日志服务控制台去对审计结果进行检索和分析,检索语法请参考日志检索语法与规则[2],要进行分析就还需要写日志服务所支持的SQL语句,请参考日志服务分析简介[3]。 < ">注:本文仅适用于TKE集群 场景示例 < ">下面给出一些集群审计使用场景和查询的示例。 找出是谁做的操作 < ">如果节点被封锁了,不知道是哪个应用或人为操作的,需要查出来,可以在开启集群审计后,使用下面的语句来检索: objectRef.resource:nodes AND requestObject:unschedulable < ">版面设置可以设置显示user.username,requestObject和objectRef.name三个字段,分别表示做操作的用户、请求内容以及节点名称: < ">从上图可以看出,是10001****958这个子账号在2020-10-09 16:13:22的时候对main.63u5qua9.0这台节点进行了封锁操作,我们在访问管理-用户-用户列表[4]里可以根据账号ID找到关于这个子账号的详细信息。 < ">如果某个工作负载被删除,想知道是谁删除的,这里以deployments/nginx为例来查询: objectRef.resource:deployments AND objectRef.name:"nginx"AND verb:"delete" < ">查询结果: 揪出导致apiserver限频的真凶 < ">apiserver会有默认的请求频率限制保护,避免恶意程序或bug导致对apiserver请求频率过高,使得apiserver/etcd负载过高,影响正常请求。如果发生了限频,我们可以通过审计来找出到底是谁在发大量请求。 < ">如果我们通过userAgent来分析统计请求的客户端,首先需要修改下日志主题的键值索引,为userAgent字段开启统计: < ">通过以下SQL语句进行统计每种客户端请求apiserver的QPS大小: *|SELECT CAST((__TIMESTAMP_US__/1000-__TIMESTAMP_US__/1000%1000)as TIMESTAMP)AS time,COUNT(1)AS qps,userAgent GROUP BY time,userAgent ORDER BY time < ">切换到图标分析,选择折线图,X轴用time,Y轴用qps,聚合列使用userAgent: < ">可以看到查到数据了,但可能结果太多,小面板显示不下,点击添加到仪表盘,放大显示: < ">此例中可以看到kube-state-metrics这个客户端对apiserver请求频率远远高于其它客户端,这就找到了"真凶"是kube-state-metrics,查看日志可以发现是因为RBAC权问题导致kube-state-metrics不停的请求apiserver重试,触发了apiserver的限频: I1009 13:13:09.760767 1 request.go:538]Throttling request took 1.393921018s,request:GET:https://172.16.252.1:443/api/v1/endpoints?limit=500&resourceVersion=1029843735 E1009 13:13:09.766106 1 reflector.go:156]pkg/mod/k8s.io/c加多宝危机公关论文lient-go v0.0.0-20191109102209-3c0d1af94be5/tools/cache/reflector.go:108:Failed to list*v1.Endpoints:endpoints is forbidden:User"system:serviceaccount:monitoring:kube-state-metrics"cannot list resource"endpoints"in API group""at the cluster scope < ">同理,如果要使用其它字段来区分要统计的客户端,可以根据需求灵活修改SQL,比如使用user.username来区分,SQL这样写: < ">< background-color: rgb(242, 242, 242);">*|SELECT CAST((__TIMESTAMP_US__/1000-__TIMESTAMP_US__/1000%1000)as TIMESTAMP)AS time,COUNT(1)AS qps,user.username GROUP BY time,user.username ORDER BY time < ">显示效果: 小结 < ">本文介绍了如何利用TKE的集群审计功能来辅助我们排查问题,给出了一些实践的例子。 参考资料 [1]集群审计:https://cloud.tencent.com/document/product/457/48346 [2]日志检索语法与规则:https://cloud.tencent.com/document/product/614/47044 [3]日志服务分析简介:https://cloud.tencent.com/document/product/614/44061 [4]访问管理-用户-用户列表:https://console.cloud.tencent.com/c推广营销软件am |
上一篇:Instagram营销怎么做?吃透这4点很重要
下一篇:阿里云更换镜像教程
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“腾讯云手把手教你使用容器服务TKE集群审计排查”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通腾讯云手把手教你使用容器服务TKE集群审计排查的相关事宜。
关键词:腾讯云手把手教你使用容