使用场景
容器服务 TKE 的集群审计和事件存储为用户配置了丰富的可视化图表,以多个维度对审计日志和集群事件进行呈现,操作简单且涵盖绝大多数常见集群运维场景,易于发现和定位问题,提升运维效率,将审计和事件数据的价值最大化。本文结合几个具体使用场景和示例,介绍如何利用审计和事件仪表盘快速定位集群问题。
前提条件
使用示例
示例1:排查工作负载消失问题
1. 登录 容器服务控制台。
2. 在左侧导航栏中选择日志管理 > 审计日志,进入审计检索页面。
3. 选择K8S 对象操作概览页签,在过滤项中指定需要排查的操作类型和资源对象,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/b6c93d39cc2c98aca53f0b8d2a0e8f62.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b6c93d39cc2c98aca53f0b8d2a0e8f62.png)
4. 查询结果如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/e2777283c2532282c1b0a51ab463e06a.png)
由图可见,
![](https://qcloudimg.tencent-cloud.cn/image/document/e2777283c2532282c1b0a51ab463e06a.png)
10001****7138
账号在2020-11-30T03:37:13
时删除了 nginx
应用。可根据账号 ID 在访问管理 > 用户列表 中查找关于此账号的详细信息。示例2:排查节点被封锁问题
1. 登录 容器服务控制台。
2. 在左侧导航栏中选择日志管理 > 审计日志,进入审计检索页面。
3. 选择节点操作概览页签,在过滤项中指定被封锁的节点名称,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/2d6e6520f23515c165f60bb42d576390.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2d6e6520f23515c165f60bb42d576390.png)
4. 单击过滤开始查询,查询结果如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/8dbc979d6d7dd7a5a9e91cbec4367912.png)
由图可见,
![](https://qcloudimg.tencent-cloud.cn/image/document/8dbc979d6d7dd7a5a9e91cbec4367912.png)
10001****7138
账号在 2020-11-30T06:22:18
时对 172.16.18.13
节点进行了封锁操作。示例3:排查 apiserver 响应变慢问题
1. 登录 容器服务控制台。
2. 在左侧导航栏中选择日志管理 > 审计日志,进入审计检索页面。
3. 选择聚合检索页签,进入聚合检索页面。该页面提供了用户、操作类型、返回状态码等多个维度对于 apiserver 访问的趋势图。如下图所示:
操作用户分布趋势:
![](https://qcloudimg.tencent-cloud.cn/image/document/fc10ac2e46319ef9f63dabea5af9e6bc.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/fc10ac2e46319ef9f63dabea5af9e6bc.png)
操作类型分布趋势:
![](https://qcloudimg.tencent-cloud.cn/image/document/a8723099ca510db02a92a9ec24d737a4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a8723099ca510db02a92a9ec24d737a4.png)
状态码分布趋势:
![](https://qcloudimg.tencent-cloud.cn/image/document/5248e500b8f46f3b3e80cc5625d9216f.png)
由图可见,用户
![](https://qcloudimg.tencent-cloud.cn/image/document/5248e500b8f46f3b3e80cc5625d9216f.png)
tke-kube-state-metrics
的访问量远高于其他用户,并且在 操作类型分布趋势 图中可以看出大多数为 list 操作,在状态码分布趋势图中可以看出,状态码大多数为403。结合业务日志可知,由于 RBAC 鉴权问题导致 tke-kube-state-metrics
组件不停的请求 apiserver 重试,导致 apiserver 访问剧增。日志示例如下:E1130 06:19:37.368981 1 reflector.go:156] pkg/mod/k8s.io/client-go@v0.0.0-20191109102209-3c0d1af94be5/tools/cache/reflector.go:108: Failed to list *v1.VolumeAttachment: volumeattachments.storage.k8s.io is forbidden: User "system:serviceaccount:kube-system:tke-kube-state-metrics" cannot list resource "volumeattachments" in API group "storage.k8s.io" at the cluster scope
示例4:排查节点异常问题
1. 登录 容器服务控制台。
2. 在左侧导航栏中,选择日志管理 > 事件日志,进入事件检索页面。
3. 选择事件总览页签,在资源对象过滤项中输入异常节点 IP,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/78e86308516d1cd4a089d3c0dcaa3ec4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/78e86308516d1cd4a089d3c0dcaa3ec4.png)
4. 单击过滤开始查询。查询结果显示,有一条“节点磁盘空间不足”的事件记录查询结果,如下图所示:
![](https://qcloudimg.tencent-cloud.cn/image/document/640c76951c836ab46521b52bcf9ce412.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/640c76951c836ab46521b52bcf9ce412.png)
5. 单击该事件,进一步查看异常事件趋势。![](https://qcloudimg.tencent-cloud.cn/image/document/883959b2816a34a715a029981652ceb0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b2ae008fa3eb39c4770397aa399cd32a.png)
由图可见,从
![](https://qcloudimg.tencent-cloud.cn/image/document/883959b2816a34a715a029981652ceb0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/b2ae008fa3eb39c4770397aa399cd32a.png)
2020-11-25
开始,节点 172.16.18.13
由于磁盘空间不足导致节点异常,此后 kubelet 开始尝试驱逐节点上的 Pod 以回收节点磁盘空间。示例5:查找触发节点扩容的原因
开启了节点池弹性伸缩的集群,CA(cluster-autoscaler)组件会根据负载状况自动对集群中节点数量进行增减。如果集群中的节点发生了自动扩(缩)容,用户可通过事件检索对整个扩(缩)容过程进行回溯。
1. 登录 容器服务控制台。
2. 在左侧导航栏中,选择日志管理 > 事件日志,进入事件检索页面。
3. 选择全局检索页签,在检索分析栏中输入以下检索命令:
event.source.component : "cluster-autoscaler"
4. 在左侧“隐藏字段”中选择 “
event.reason
”、“event.message
”、“event.involvedObject.name
”、“event.involvedObject.name
” 进行显示,单击检索分析开始检索分析日志并将返回检索结果。 5. 将检索结果按照“日志时间”倒序排列,如下图所示:![](https://qcloudimg.tencent-cloud.cn/image/document/40b49dc3491d70c59888edfc04977aad.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/40b49dc3491d70c59888edfc04977aad.png)
由图可见,通过事件可以看到节点扩容操作在
2020-11-25 20:35:45
左右,分别由三个 nginx pod(nginx-5dbf784b68-tq8rd、nginx-5dbf784b68-fpvbx、nginx-5dbf784b68-v9jv5)
进行触发,最终扩增三个节点,后续的扩容由于达到节点池的最大节点数未再次触发。