You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取15天前Kubernetes事件详情及部署信息(含AWS EKS场景)

获取Kubernetes 15天前事件详情(含关联部署)及AWS EKS Pod事件查看方法

一、通用Kubernetes环境获取15天前事件(含关联部署)

  • 先明确:Kubernetes默认将事件存储在etcd中,默认TTL通常为1小时到7天(取决于集群配置),直接执行kubectl get events --all-namespaces大概率看不到15天前的记录,需先确认集群是否配置了事件持久化或日志采集:
    • 检查事件TTL配置:查看kube-apiserver的启动参数--event-ttl,默认值为1h,若要长期保留需修改为更长时间(比如4320h即180天),但修改后仅对后续事件生效,历史已清理事件无法找回。
  • 若集群已通过日志系统(如ELK、Loki、Fluentd)持久化事件日志:
    1. 在日志平台中按时间范围筛选15天前的事件,可使用event.kubernetes.io相关字段作为过滤条件。
    2. 关联部署信息:事件的involvedObject字段包含关联资源的名称、类型(如Deployment、Pod),可通过该字段结合kubectl describe deployment <部署名> -n <命名空间>查看对应部署的详细信息,或在日志平台中添加关联查询,匹配部署的UID或名称。
  • 若集群未配置持久化且事件已被etcd清理,则无法直接找回15天前的事件,建议后续配置事件持久化方案。

二、AWS EKS集群查看15天前Pod事件

EKS默认不会长期保留事件,需依赖CloudWatch Logs集成来持久化日志:

  • 前提:已为EKS集群配置CloudWatch Logs集成(通过AWS管理控制台或eksctl启用,开启kube-apiserver、kube-controller-manager或pod日志流)
  • 通过AWS管理控制台查询:
    1. 打开CloudWatch控制台,进入日志组,找到EKS对应的日志组(通常命名为/aws/eks/<集群名>/cluster或自定义名称)。
    2. 选择对应的日志流(如kube-apiserver或包含Pod事件的流),点击查询日志。
    3. 设置时间范围为15天前,使用过滤语句筛选Pod相关事件,例如:
      fields @timestamp, @message
      | filter @message like /Pod/
      | sort @timestamp desc
      
    4. 从查询结果中提取事件详情,关联部署信息可通过事件中的metadata.labels(如app标签)或involvedObject.name(Pod所属的Deployment名称),再执行kubectl get deployment -l app=<应用名> -n <命名空间>确认部署信息。
  • 通过AWS CLI查询:
    执行以下命令查询指定时间范围内的Pod事件,替换占位符为实际值:
    aws logs start-query \
      --log-group-name "/aws/eks/<你的集群名>/cluster" \
      --start-time $(date -d "15 days ago" +%s)000 \
      --end-time $(date -d "14 days ago" +%s)000 \
      --query-string 'fields @timestamp, @message | filter @message like /Pod/ | sort @timestamp desc'
    
    再用aws logs get-query-results获取查询结果。
  • 若未配置CloudWatch Logs集成,15天前的Pod事件已丢失,需后续启用集成以保留历史日志。

内容的提问来源于stack exchange,提问作者Satheeshkumar Govindaraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:07:16